Giả sử chúng ta có một số mảng với tất cả các số nguyên tố. Chúng ta phải kiểm tra xem tích của tất cả các số có trong nums có phải là một hình vuông hoàn hảo hay không.
Vì vậy, nếu đầu vào là nums =[3,3,7,7], thì đầu ra sẽ là True vì tích của tất cả các phần tử trong nums là 441, là một hình vuông hoàn hảo là 21 ^ 2 =441.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- m:=một bản đồ chứa tất cả các phần tử ở dạng num và tần số của chúng
- đối với mỗi khóa trong nums, hãy thực hiện
- nếu m [key] là số lẻ, thì
- trả về Sai
- nếu m [key] là số lẻ, thì
- trả về True
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
from collections import defaultdict def solve(nums) : m = defaultdict(int) for key in nums : m[key] += 1 for key in nums : if m[key] % 2 == 1 : return False return True nums = [3,3,7,7] print(solve(nums))
Đầu vào
[3,3,7,7]
Đầu ra
True