[LeetCode/Python] 26. Remove Duplicates from Sorted Array

ㅎㅎ·2023년 12월 26일
0

LeetCode

목록 보기
1/33

26. Remove Duplicates from Sorted Array

풀이

첫 번째 풀이 O(n^2)

class Solution(object):
    def removeDuplicates(self, nums):
        l = len(nums)
        k = 0
        for i in range(len(nums)): #O(n)
            if nums[i] != 200:
                for j in range(i+1, len(nums)): #O(n)
                    if i != j and nums[i] == nums[j]:
                        nums[j] = 200
                        k += 1
        
        for i in range(k): #O(k)
            nums.remove(200)

        k = len(nums)

        return k

두 번째 풀이 O(nlogN)

sorted 함수 사용

class Solution(object):
    def removeDuplicates(self, nums):
        s = set(nums)  #O(n)
        k = len(s)  #O(n)

        a = list(s)  #O(n)
        h = sorted(a)  #O(nlogN)
        nums[:] = h  #O(n) 

        return k
profile
Backend

0개의 댓글