【剑指offer】数组中重复的数字

数组中重复的数字

http://www.nowcoder.com/questionTerminal/623a5ac0ea5b4e5f95552655361ae0a8

最多遍历一次数组的做法:
新建一个长度为10的数组,分别存储0-9数字出现的次数,一旦某数字出现两次,赋值并返回true即可!

public boolean duplicate(int numbers[],int length,int [] duplication) {
        if ( numbers == null || numbers.length == 0 || length != numbers.length) {
            return false;
        }
        int[] num = new int[10];
        for (int i = 0; i < numbers.length; i++) {
            num[numbers[i]]++;
            if (num[numbers[i]] == 2) {
                duplication[0] = numbers[i];
                return true;
            }
        }
        return false;
    }
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务