-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path27.remove_elements.py
More file actions
34 lines (28 loc) · 1.21 KB
/
27.remove_elements.py
File metadata and controls
34 lines (28 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 27. Remove Element
# Given an integer array nums and an integer val, remove all occurrences of val in nums in-place.
# The order of the elements may be changed.
# Then return the number of elements in nums which are not equal to val.
# Consider the number of elements in nums which are not equal to val be k, to get accepted,
# you need to do the following things:
# Change the array nums such that the first k elements of nums contain the elements which are not equal to val.
# The remaining elements of nums are not important as well as the size of nums.
# Return k.
# Example 1:
# Input: nums = [3,2,2,3], val = 3
# Output: 2, nums = [2,2,_,_]
# Explanation: Your function should return k = 2, with the first two elements of nums being 2.
# It does not matter what you leave beyond the returned k (hence they are underscores).
# using pop method
def removeElement(nums, val):
while val in nums:
i=nums.index(val)
nums.pop(i)
return len(nums)
# using remove method
def removeElement(nums, val):
while val in nums:
nums.remove(val) # remove first occurence only
return len(nums)
# using list comprehension
def removeElement(nums, val):
nums[:] = [num for num in nums if num != val]