코딩테스트
[leetcode] 26. Remove Duplicates from Sorted Array
nayoon
2024. 8. 3. 16:56
class Solution {
public int removeDuplicates(int[] nums) {
int index = 0;
for(int num: nums) {
if (index < 1 || num > nums[index - 1]) {
nums[index] = num;
index++;
}
}
return index;
}
}
Set, List 써서 푸는 풀이
/**
Set으로 nums를 하나씩 체크
이후 nums에 앞에서부터 Set에 있는 elements를 하나씩 넣어주기
다만 Set의 경우 입력한 순서를 보장하고 있지 않기 때문에 List로 정렬을 해야함
*/
import java.util.*;
class Solution {
public int removeDuplicates(int[] nums) {
Set<Integer> set = new HashSet<>();
for(int num: nums) {
set.add(num);
}
List<Integer> list = new ArrayList<>(set);
Collections.sort(list);
int index = 0;
for(int num: list) {
nums[index++] = num;
}
return index;
}
}