Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem mảng đã cho có thể được giảm xuống số không với hoạt động đã cho được thực hiện với số lần nhất định trong Python hay không

Giả sử chúng ta có một mảng num và một giá trị k, chúng ta phải kiểm tra xem các phần tử trong nums có thể được tạo thành 0 hay không bằng cách thực hiện thao tác sau chính xác k số lần.

  • Phép toán:Phần tử nhỏ nhất trong số num sẽ bị trừ khỏi tất cả các giá trị khác 0 của nums.

Vì vậy, nếu đầu vào giống như nums [2, 2, 3, 5] k =3, thì đầu ra sẽ là True vì lúc đầu xóa 2 khỏi mảng, vì vậy mảng sẽ là [0, 0, 1, 3], sau đó xóa 1 để nhận [0, 0, 0, 2], rồi lại xóa 2 để nhận [0, 0, 0, 0].

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu có k số phần tử phân biệt thì
  • trả về True
  • trả về Sai

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Mã mẫu

def solve(nums, k):
   distinct = set(nums)
 
   if len(distinct) == k:
      return True
   return False
   
nums = [2, 2, 3, 4]
k = 3
print(solve(nums, k))

Đầu vào

[2, 2, 3, 4], 3

Đầu ra

True