烟_火
人间烟火何不尝

给你一个整数数组 arr,请你检查是否存在两个整数 N 和 M,满足 N 是 M 的两倍(即,N = 2 * M)。

更正式地,检查是否存在两个下标 i 和 j 满足:

i != j
0 <= i, j < arr.length
arr[i] == 2 * arr[j]

class Solution {
    public boolean checkIfExist(int[] arr) {
        int len = arr.length;
        List<Integer> Flist = new ArrayList<Integer>();
        List<Integer> Zlist = new ArrayList<Integer>();
        int i = 0;
        while(i < len)
        {
            if(arr[i] < 0)
            {
                Flist.add(-arr[i]);
            }
            else
            {
                Zlist.add(arr[i]);
            }
            i++;
        }
        int[] FArr = new int [Flist.size()];   //存储小于零的数组;
        int[] ZArr = new int [Zlist.size()]; //存储大于零的数组;
        for(int a = 0; a < Flist.size(); a++)
        {
            FArr[a] = Flist.get(a);
        }
        for(int b = 0; b < Zlist.size(); b++)
        {
            ZArr[b] = Zlist.get(b);
        }
        Arrays.sort(FArr);
        Arrays.sort(ZArr);
        // return Panduan(FArr);         
        if(!Panduan(ZArr) && !Panduan(FArr))
            return false;
        else
            return true;
 
    }
    public boolean Panduan(int[] arr)
    {
        boolean flag = true, returnFlag = false;
        int i = 0 , len = arr.length;
        if(arr.length > 1)
        {
            while(flag)
            {
                int tmpNum = arr[i] * 2;
                if(tmpNum > arr[len-1])
                {
                    flag = false;
                }
                for(int j = len-1; j > i; j--)
                {
                    if(tmpNum > arr[j])
                    {
                        break;
                    }
                    if(tmpNum == arr[j])
                    {
                        returnFlag = true;
                        flag = false;
                        break;
                    }
                }
                i++;

            }
            return returnFlag;
        }
        else
            return false;
    }
}

  我就是记录一下自己写的,不过方法不好,有更好的方法可以去借鉴。

posted on 2020-03-03 22:33  段流儿  阅读(177)  评论(0编辑  收藏  举报