[LeetCode][Python3] 27. Remove Element
2018. 9. 11. 23:50 |
프로그래밍/LeetCode
Problem :
https://leetcode.com/problems/remove-element/description/
My Solution :
class Solution:
def removeElement(self, nums, val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
i, j = 0, len(nums)-1
while True:
while i <= j and nums[i] != val:
i += 1
while i <= j and nums[j] == val:
j -= 1
if j <= i:
return i
nums[i], nums[j] = nums[j], nums[i]
Comment :
list를 다루는 문제는 항상 index 때문에 Edge Case에 당하는 경우가 많다. 비어있는 입력, 값이 1개만 들어있는 입력 등... 나름 O(n)으로 깔끔하게 푼다고 풀었는데 이게 최선일지는 모르겠다.
'프로그래밍 > LeetCode' 카테고리의 다른 글
[LeetCode][Python3] 705. Design HashSet (0) | 2018.09.12 |
---|---|
[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] 26. Remove Duplicates from Sorted Array (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 |
최근에 달린 댓글 최근에 달린 댓글