给定一个整数数组arr,当且仅当该数组中每个值的出现次数唯一时,编写一个返回true的函数

莫希特·辛格(Mohit Singh)
import java.util.*;
class Solution {
    public boolean uniqueOccurrences(int[] arr) {
        HashMap<Integer,Integer> hash = new HashMap<>();
        for(int i = 0;i<arr.length;i++){
            if(hash.containsKey(arr[i])){
                hash.put(arr[i],hash.get(arr[i])+1);
            }else{
                hash.put(arr[i],1);
            }
        }
        for(int i = 0;i<arr.length;i++){
            for(int j = i+1;j<arr.length-1;j++){
                if(arr[i]!=arr[j] && hash.get(arr[i])==hash.get(arr[j])){
                    return false;
                }
            }
        }
      return true;
    }
}

我的代码实际上没有通过1个测试用例[1,2]失败。有人可以告诉我原因以及如何优化我的代码

凯尔伍德

您的i运行范围是0(含)至length(不含)。因此,当length为2时,您将得到0和1。

您的j运行时间是i+1(incl)至length-1(excl)。这是两个输入的空白​​范围。i+1至少为1,length-1也为1。由于j循环未运行,因此您将找不到任何匹配项。

这将更有意义:

for (int i = 0; i < arr.length - 1; i++) {
    for (int j = i + 1; j < arr.length; j++) {

这实际上将检查数组中的不同对。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何编写一个程序来返回Java中整数数组中给定值最后一次出现的索引位置?

给定一个整数数组'num'返回该数组加1

如何返回一个对象,该对象显示每个唯一值的总出现次数?

给定一个整数数组,返回数组中 9 的个数

编写一个递归方法,该方法调用一个整数数组,并以相反的排序顺序返回该数组

Hasura中的一个计算字段,该字段返回整数数组

Hasura中的一个计算字段,该字段返回整数数组

给定一个数组,返回连续出现次数最多的元素。在 Java 中

给定一个整数数组,返回一个新数组,使得索引 i 处的每个元素......代码不起作用

给定一个整数数组和一个值N。将N表示为该数组的最小元素数之和。如何解决这个问题?

给定一个长度为 3 的整数数组,找出数组中的第一个或最后一个元素哪个更大,并将所有其他元素设置为该值

我将如何编写一个函数,该函数接受一个正整数数组并返回数字上的阶乘数组?

数组函数仅返回第一个值

给定一个排序的整数数组,在log(n)中找到最频繁出现的元素

给定Ruby中的第一个整数和大小,创建一个整数数组

pthread启动例程返回一个整数数组

结果中仅出现数组中的一个值

给定一个整数数组,返回正数,其中存在等价的负数

javascript:从函数数组中查找第一个真实的返回值

编写一个接受整数数组的函数,以及一个将为“偶数”或“奇数”的字符串

在Java中使用getArray()编写一个返回整数数组的方法

如何编写一个返回函数数组的函数?

当给定数百个数组时,Sklearn PCA仅返回一个值的数组

为什么在我的主函数中声明一个整数后,我的整数数组中出现错误?

在 Python 中编写一个函数 factorial_list(Arr),它接受一个数字列表 Arr 并返回每个值的阶乘列表

PHP函数数组多次返回一个记录

React 状态返回一个函数数组

调用一个函数数组,每个函数都接收一个回调

如何在Java中编写一个递归方法来反转存储在整数数组中的值?