296好数对的数目

Posted huoyingfans

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了296好数对的数目相关的知识,希望对你有一定的参考价值。

给你一个整数数组 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

解释:数组中的每组数字都是好数对

示例 3

输入:nums = [1,2,3]

输出:0

  

提示:

1 <= nums.length <= 100

1 <= nums[i] <= 100

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/number-of-good-pairs

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

package cn.fansunion.leecode.isNumber;

/**

 * 1512. 好数对的数目

 * 给你一个整数数组 nums 。

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

返回好数对的数目。

来源:力扣(LeetCode)

链接:力扣

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 * @author wen.lei@brgroup.com

 *

 * 2022-2-19

 */

public class NumberOfGoodPairs

    /*  示例 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

    解释:数组中的每组数字都是好数对

    示例 3:

     

    输入:nums = [1,2,3]

    输出:0

      

     

    提示:

     

    1 <= nums.length <= 100

    1 <= nums[i] <= 100*/

    /**

     * 暴力破解(穷举)

     * @param nums

     * @return

     */

    public int numIdenticalPairs(int[] nums)

        int count=0;

        for(int i=0;i<nums.length;i++)

            for(int j=1;j<nums.length;j++)

                //i<j 不能少

                if(nums[i]==nums[j] && i < j)

                    count++;

                

            

        

        return count;

    

package test.leecode.isNumber;

import org.junit.Assert;

import org.junit.Test;

import cn.fansunion.leecode.isNumber.NumberOfGoodPairs;

/**

 * @author wen.lei@brgroup.com

 *

 * 2022-2-21

 */

public class NumberOfGoodPairsTest

    @Test

    public void test()

        NumberOfGoodPairs pair  = new NumberOfGoodPairs();

        Assert.assertEquals(4,pair.numIdenticalPairs(new int[] 1,2,3,1,1,3));

        Assert.assertEquals(6,pair.numIdenticalPairs(new int[] 1,1,1,1));

        Assert.assertEquals(0,pair.numIdenticalPairs(new int[] 1,2,3));

        Assert.assertEquals(1,pair.numIdenticalPairs(new int[] 1,2,2));

    

以上是关于296好数对的数目的主要内容,如果未能解决你的问题,请参考以下文章

3614好数对的数目

算法学习1512. 好数对的数目(java / c / c++ / python / go / rust)

算法零基础学习计数法

算法零基础学习计数法

算法零基础学习计数法

2563. 统计公平数对的数目