ETH官方钱包

前往
大廳
主題

LeetCode - 2176. Count Equal and Divisible Pairs in an Array 解題心得

Not In My Back Yard | 2022-09-26 12:00:19 | 巴幣 2 | 人氣 150

題目連結:


題目意譯:
給定一個索引值從 0 開始且長度為 n 的陣列 nums 以及一整數 k,回傳數對 (i, j) 之數量,其中 0 ≦ i < j < n 、 nums[i] == nums[j] 且 (i × j) 可以被 k 整除。

限制:
1 ≦ nums.length ≦ 100
1 ≦ nums[i], k ≦ 100



範例測資:
範例 1:
輸入: nums = [3,1,2,2,2,1,3], k = 2
輸出: 4
解釋:
現在有 4 對數對滿足所有條件:
- nums[0] == nums[6] 且 0 × 6 == 0,其可以被 2 整除。
- nums[2] == nums[3] 且 2 × 3 == 6,其可以被 2 整除。
- nums[2] == nums[4] 且 2 × 4 == 8,其可以被 2 整除。
- nums[3] == nums[4] 且 3 × 4 == 12,其可以被 2 整除。

範例 2:
輸入: nums = [1,2,3,4], k = 1
輸出: 0
解釋: 因為 nums 中沒有數字重複,因此沒有數對 (i, j) 可以滿足所有條件。


解題思維:
因為陣列 nums 長度最長不超過 100,因此我們直接窮舉出所有可能的數對 (i, j)(其中 i < j)然後統計有多少個如題意所述滿足 nums[i] == nums[j] 且 (i × j) 可以被 k 整除即可求得所求。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作