給你乙個整數陣列 nums 。
如果一組數字 (i,j) 滿足 nums[i] == nums[j] 且 i < j ,就可以認為這是一組 好數對 。
返回好數對的數目。
示例 1:
輸入:nums = [1,2,3,1,1,3]
輸出:4
解釋:有 4 組好數對,分別是 (0,3), (0,4), (3,4), (2,5) ,下標從 0 開始
示例 2:
輸入:nums = [1,1,1,1]
輸出:6
解釋:陣列中的每組數字都是好數對
思路1,定義乙個map,key為元素值,val為元素下標的list集合
2,遍歷陣列,將相同值的元素下標都放到list中
3,計算list集合的排列陣列個數,是個以1為首項,公差為1的等差數列,個數為list.size - 1
**
publicint numidenticalpairs(int
nums)
vals.add(i);
}int count = 0;
for (map.entry>entry : map.entryset())
return
count;
}
好數對的數目
給你乙個整數陣列 nums 如果一組數字 i,j 滿足 nums i nums j 且 i j 就可以認為這是一組 好數對 返回好數對的數目。示例 1 輸入 nums 1,2,3,1,1,3 輸出 4 解釋 有 4 組好數對,分別是 0,3 0,4 3,4 2,5 下標從 0 開始 示例 2 輸入 ...
1512 好數對的數目
給你乙個整數陣列 nums 如果一組數字 i,j 滿足 nums i nums j 且 i j 就可以認為這是一組 好數對 返回好數對的數目。示例 1 輸入 nums 1,2,3,1,1,3 輸出 4 解釋 有 4 組好數對,分別是 0,3 0,4 3,4 2,5 下標從 0 開始 示例 2 輸入 ...
Leetcode記錄 5460 好數對的數目
給你乙個整數陣列 nums 如果一組數字 i,j 滿足 nums i nums j 且 i j 就可以認為這是一組 好數對 返回好數對的數目。題解首先想到的方法兩重for迴圈直接遍歷,如果兩數相等則count class solution return count 但是這樣效率一定是比較低的 因為如...