力扣刷题(2020/6/10)

数组中数字出现的次数

题目描述:

  • 一个整型数组 nums
    里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。
    力扣刷题(2020/6/10)_第1张图片
class Solution {
    public int[] singleNumbers(int[] nums) {
        int[] accept=new int[nums.length];
        for(int i=0;i<nums.length;i++){
            if(fun(nums[i],accept)){
                accept[i]=nums[i];
            }
        }
        int [] fial=new int[2];
        int count=0;
        for(int i=0;i<accept.length;i++){
            if(accept[i]!=0){
                fial[count]=accept[i];
                count++;
            }
            if(count==2){
                break;
            }
        }
        return fial;
    }
    public boolean fun(int num,int[] accept){
        for(int i=0;i<accept.length;i++){
            if(num==accept[i]){
                accept[i]=0;
                return false;
            }
        }
        return true;
    }
}

来源:力扣(LeetCode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

你可能感兴趣的:(力扣刷题(2020/6/10))