LeetCode 26. Remove Duplicates from Sorted Array
Question
Given an integer array nums sorted in non-decreasing order, remove the duplicates in-place such that each unique element appears only once. The relative order of the elements should be kept the same.
Since it is impossible to change the length of the array in some languages, you must instead have the result be placed in the first part of the array nums. More formally, if there are k elements after removing the duplicates, then the first k elements of nums should hold the final result. It does not matter what you leave beyond the first k elements.
Return k after placing the final result in the first k slots of nums.
Do not allocate extra space for another array. You must do this by modifying the input array in-place with O(1) extra memory.
승차의 정수 배열nus를 제시했기 때문에 중복된 문제를 배제한다.단, remove the duplicates in-place를 주의하십시오.신스 뒷부분을 자세히 읽으면 언어에 따라 배열의 길이를 바꿀 수 없기 때문에 중복된 작업을 제거하는 데 처음부터 요소를 채워야 한다고 적혀 있어 셋에서 길게 뽑을 수 없기 때문이다.
Code
class Solution {
fun removeDuplicates(nums: IntArray): Int {
var now = 0
for (idx in 1..nums.lastIndex) {
if (nums[now] < nums[idx]) {
now++
nums[now] = nums[idx]
}
}
return now + 1
}
}
아래 그림에서 보듯이 araynus는 [0, 0, 1, 1, 2, 3, 4]일 때 추적 작업의 그림이다.인덱스 0부터 숫자를 반복하지 않고 배열해야 하기 때문에 now에 위치 관리 작업을 제공합니다
그리고 Araynus를 계속 검색해서 더 큰 숫자가 나오면 now의 오른쪽에 저장하기 위해 점차적으로 증가하고 거기서 찾은 숫자를 반복해서 저장합니다
Profile
Submission
Reference
이 문제에 관하여(LeetCode 26. Remove Duplicates from Sorted Array), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/az/articles/az-leetcode-kotlin-26텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)