77 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Remove Duplicates from Sorted Array

Sizga kamaymaydigan (non-decreasing) tartibda joylashgan nums butun sonlar massivi berilgan. Har bir element faqat bir marta paydo bo'lishi uchun takrorlanuvchi elementlarni joyida (in-place) olib tashlang. Elementlarning nisbiy tartibi bir xil bo'lishi kerak. So'ngra nums dagi yagona elementlar sonini qaytaring.

Agar yagona elementlar soni k bo'lsa, sizning yechimingiz quyidagilarni bajarishi kerak:

  • nums massivini shunday o'zgartiringki, uning dastlabki k ta elementi yagona elementlarni saqlasin. Dastlabki k ta elementdan keyin nima turganining ahamiyati yo'q.
  • k ni qaytaring.
example.go
func solve(nums []int) int {
    // ...
}

Misollar

kod
Input: nums = [1,1,2]
Output: 2
Tushuntirish: Funksiyangiz k = 2 ni qaytarishi kerak, nums dagi dastlabki ikkita element 1 va 2 bo'ladi.
kod
Input: nums = [0,0,1,1,1,2,2,3,3,4]
Output: 5
kod
Input: nums = [1]
Output: 1

Maslahatlar

  1. Massiv allaqachon tartiblangani uchun takrorlanuvchi elementlar doim qator turadi — buni ikki ko'rsatkich (o'qish va yozish) yordamida ajratish mumkin.
  2. k deb nomlangan "yozish" indeksini 1 dan boshlang; massivni ikkinchi elementdan boshlab aylanib, joriy element oxirgi noyob elementdan (nums[k-1]) farq qilsa, uni nums[k] ga yozing va k ni oshiring.