[LeetCode][Python3] 26. Remove Duplicates from Sorted Array
2018. 9. 11. 22:20 |
프로그래밍/LeetCode
Problem :
https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/
My Solution :
class Solution:
def removeDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
i = 1
while i < len(nums):
if nums[i-1] == nums[i]:
del nums[i]
else:
i += 1
return len(nums)
Comment :
in-place로 풀라고 하길래 그냥 무식하게 삭제했는데, 이게 효율이 별로이려나?
확인해보니 list에서 del은 O(n)이다. 매우 비 효율적인 코드였네 ㅠㅠ
아래는 다른 방식으로 풀어본 것이다.
My Solution2 :
class Solution:
def removeDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if not nums:
return 0
i, j = 0, 1
while j < len(nums):
if nums[i] != nums[j]:
i += 1
nums[i] = nums[j]
j += 1
return i+1
'프로그래밍 > LeetCode' 카테고리의 다른 글
[LeetCode][Python3] 706. Design HashMap (0) | 2018.09.12 |
---|---|
[LeetCode][Python3] 35. Search Insert Position (0) | 2018.09.12 |
[LeetCode][Python3] 28. Implement strStr() (0) | 2018.09.12 |
[LeetCode][Python3] 27. Remove Element (0) | 2018.09.11 |
[LeetCode][Python3] 7. Reverse Integer (0) | 2018.09.11 |
[LeetCode][Python3] 21. Merge Two Sorted Lists (0) | 2018.09.11 |
[LeetCode][Python3] 20. Valid Parentheses (0) | 2018.09.11 |
[LeetCode][Python3] 14. Longest Common Prefix (0) | 2018.09.11 |
최근에 달린 댓글 최근에 달린 댓글