使用 Python 檢查包含質數的陣列的乘積是否為完全平方數
假設我們有一個包含所有質數的陣列 nums。我們必須檢查 nums 中所有數字的乘積是否是完全平方數。
因此,如果輸入為 nums = [3,3,7,7],則輸出將會是 True,因為 nums 中所有元素的乘積是 441,這是完全平方數,因為 21^2 = 441。
要解決這個問題,我們需要遵循以下步驟:
- m := 包含 nums 中所有元素及其頻率的地圖
- 對於 nums 中的每個鍵執行以下操作:
- 如果 m[key] 是奇數,則
- 返回 False
- 如果 m[key] 是奇數,則
- 返回 True
示例
為了更好地理解,我們來看看以下實現方式:
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))
輸入
[3,3,7,7]
輸出
True
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP