Giả sử chúng ta có một danh sách các phần tử gọi là nums, chúng ta phải kiểm tra xem tất cả các số có xuất hiện lần chẵn hay không. Chúng tôi phải giải quyết nó bằng cách sử dụng không gian không đổi.
Vì vậy, nếu đầu vào giống như nums =[8, 9, 9, 8, 5, 5], thì đầu ra sẽ là True, vì tất cả các số đều xảy ra hai lần.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
nếu kích thước của nums là số lẻ, thì
-
trả về Sai
-
-
sắp xếp số lượng danh sách
-
đối với tôi trong phạm vi từ 1 đến kích thước của nums, hãy thực hiện
-
nếu nums [i] giống nums [i - 1] thì
-
nums [i]:=0,
-
nums [i - 1]:=0
-
-
-
trả về true khi tổng của tất cả các phần tử có trong nums bằng 0, ngược lại là false
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau đây để hiểu rõ hơn
def solve(nums): if len(nums) & 1: return False nums.sort() for i in range(1, len(nums)): if nums[i] == nums[i - 1]: nums[i] = nums[i - 1] = 0 return sum(nums) == 0 nums = [8, 9, 9, 8, 5, 5] print(solve(nums))
Đầu vào
[8, 9, 9, 8, 5, 5]
Đầu ra
True