力扣(LeetCode)算法题解:1512. 好数对的数目

简介: 力扣(LeetCode)算法题解:1512. 好数对的数目

(一)题目描述

给你一个整数数组 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
目录
相关文章
|
9月前
|
算法 容器
【算法】——双指针算法合集(力扣)
移动零,复写零,快乐数,盛最多水的容器,有效三角形的个数,和为s的两个数(查找总价格为目标值的两个商品 ),三数之和,四数之和
|
10月前
|
存储 算法 Java
leetcode算法题-有效的括号(简单)
【11月更文挑战第5天】本文介绍了 LeetCode 上“有效的括号”这道题的解法。题目要求判断一个只包含括号字符的字符串是否有效。有效字符串需满足左括号必须用相同类型的右括号闭合,并且左括号必须以正确的顺序闭合。解题思路是使用栈数据结构,遍历字符串时将左括号压入栈中,遇到右括号时检查栈顶元素是否匹配。最后根据栈是否为空来判断字符串中的括号是否有效。示例代码包括 Python 和 Java 版本。
210 4
|
11月前
|
算法
每日一道算法题(Leetcode 20)
每日一道算法题(Leetcode 20)
110 2
|
11月前
|
算法
【链表】算法题(二) ----- 力扣/牛客
【链表】算法题(二) ----- 力扣/牛客
|
11月前
|
算法 数据挖掘
【栈和队列】算法题 ---- 力扣(二)
【栈和队列】算法题 ---- 力扣
|
11月前
|
存储 算法
【栈和队列】算法题 ---- 力扣(一)
【栈和队列】算法题 ---- 力扣
|
11月前
|
索引
力扣(LeetCode)数据结构练习题(3)------链表
力扣(LeetCode)数据结构练习题(3)------链表
232 0
|
11月前
力扣(LeetCode)数据结构练习题(2)
力扣(LeetCode)数据结构练习题(2)
79 0
|
11月前
|
存储
力扣(LeetCode)数据结构练习题
力扣(LeetCode)数据结构练习题
146 0
|
6天前
|
传感器 机器学习/深度学习 算法
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)