LeetCode: Remove Duplicates from Sorted Array 2
문제 풀이
주어진 정렬된 배열에서 같은 수는 최대 2번만 나오도록 배열을 추가적인 공간을 사용하지 않고 변경하는 문제이다.
추가적인 공간을 사용하고 푼다면 쉬운 문제이지만 사용하지 않으려니 좀 고민이 많았다.
우선 정렬된 배열이므로 같은 숫자들끼리 뭉쳐져있다.
입력 받은 배열의 길이가 2이하일 경우는 배열을 변경하지 않아도 되므로 바로 return한다.
i, j 변수를 따로 두고 진행했다.
class Solution {
public int removeDuplicates(int[] nums) {
if(nums.length <= 2) {
return nums.length;
}
int i = 1;
int j = 2;
while(j < nums.length) {
if(nums[j] == nums[i] && nums[j] == nums[i - 1]) {
j++;
}
else {
i++;
nums[i] = nums[j];
j++;
}
}
return i + 1;
}
}
Author And Source
이 문제에 관하여(LeetCode: Remove Duplicates from Sorted Array 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wonhee010/LeetCode-Remove-Duplicates-from-Sorted-Array-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)