题目链接2784. 检查数组是否是好的简单算法原理解法哈希表1ms击败100.00%时间复杂度O(N)思路很简单我们只需要保证两件事1~n-1出现1次且n出现两次因此我们可以一次遍历①找最大值也就是找到base数组的n是多少②哈希表中对应出现次数1由于数据范围只有1~200因此我们可以用数组代替哈希表最后返回前检查是否满足1~n-1出现1次且n出现两次即可JAVA代码class Solution { //2784. 检查数组是否是好的 public boolean isGood(int[] nums) { int nnums.length; int[] hashnew int[201]; int mx0; for(int x:nums){ mxMath.max(mx,x); hash[x]; } for(int i1;imx;i) if(hash[i]!1) return false; return hash[mx]2; } }