(一)题目描述
给你一个整数数组 nums 。
如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。
返回好数对的数目。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/number-of-good-pairs
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
(二)输入、输出示例
示例 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 • 2 • 3
示例 3:
输入:nums = [1,2,3] 输出:0
(三)代码实现
方法1(php版):
解题思路
没有太好的时间复杂度的算法,用最基础的。双层循环,遍历判断。
代码实现
class Solution { /** * @param Integer[] $nums * @return Integer */ function numIdenticalPairs($nums) { $n = 0; foreach ($nums as $k_1 => $v_1){ foreach ($nums as $k_2 => $v_2){ if($v_1 == $v_2 && $k_2 > $k_1){ $n ++; } } } return $n; } }
(四)性能分析
运行时间 | 内存消耗 |
8ms | 14.9 MB |