Giả sử chúng ta có một số num, chúng ta phải kiểm tra xem có cân bằng hay không. Một số được cân bằng khi tần số của tất cả các chữ số đều giống nhau hoặc không.
Vì vậy, nếu đầu vào là num =562256, thì đầu ra sẽ là Đúng vì tần số của mỗi chữ số là 2.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- number:=chuyển đổi num thành chuỗi
- freq:=một bản đồ chứa các tần số của các chữ số
- freq_values:=tạo một bộ mới bằng cách lấy tất cả các giá trị tần số chữ số từ số
- nếu kích thước của freq_values bằng 1, 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
from collections import defaultdict def solve(num): number = str(num) freq = defaultdict(int) n = len(number) for i in range(n): freq[int(number[i])] += 1 freq_values = set(freq.values()) if len(freq_values) == 1: return True return False num = 562256 print(solve(num))
Đầu vào
562256
Đầu ra
True