【算法日记】1512. 好数对的数目


题目

给你一个整数数组 nums

如果一组数字 (i,j) 满足 nums[i] == nums[j]i < j ,就可以认为这是一组 好数对

返回好数对的数目。

审题

注意到nums[i] == nums[j]i < j,所以我的思路是暴力双循环枚举所有 (i, j) 组合,逐一判断
外层循环 i 从 0 遍历到 n-1,锁定左端点
内层循环 j 从 i+1 遍历到 n-1,锁定右端点,保证 i < j
判定条件 nums[i] == nums[j],相等则 ans++
最后将ans值返回

解题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 class Solution {
public:
int numIdenticalPairs(vector<int>& nums) {
int ans = 0;
for(int i = 0;i < nums.size();++i){
for(int j = i + 1 ;j < nums.size() ;++j){
if(nums[i] == nums[j]){
++ans;
}
}
}
return ans;
}
};

结语

对于这个题目我仍需加强练习


文章作者: 上江 Yayoi
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 上江 Yayoi !
  目录