剑指Offer(第二版)03

简介: 剑指Offer(第二版)03

题目


@Description: 找出数组中重复的数字


在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的, 但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 2 <= n <= 100000


码子


public int findRepeatNumber3(int[] nums) {
        //先排序!!!
        Arrays.sort(nums);
        int p = 0;
        while (p < nums.length) {
            //如果相邻的两个数相等,则返回
            if (nums[p] == nums[p + 1]) {
                return nums[p];
            }
            p++;
        }
        //如前面未返回,则抛出 运行时异常,提示未找到重复的数
        throw new RuntimeException("Not Found");
    }


相关文章
|
6月前
|
机器学习/深度学习 Java
【剑指offer】- 求1+2+3+...+n -47/67
【剑指offer】- 求1+2+3+...+n -47/67
|
6月前
剑指Offer(第二版)04
剑指Offer(第二版)04
20 0
|
6月前
剑指Offer(第二版)11
剑指Offer(第二版)11
33 0
|
6月前
剑指Offer(第二版)05
剑指Offer(第二版)05
27 0
|
6月前
剑指Offer(第二版)10-2
剑指Offer(第二版)10-2
30 0
【剑指offer】-变态跳台阶-09/67
【剑指offer】-变态跳台阶-09/67
剑指offer 72. 求1+2+…+n
剑指offer 72. 求1+2+…+n
77 0
|
算法 Java
剑指offer(1-10题)详解
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
134 0
剑指offer(1-10题)详解
|
存储 Java
剑指offer(11-25题)详解
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。。
129 0
剑指offer(11-25题)详解
|
Java
剑指offer(34-40题)详解
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写)
92 0
剑指offer(34-40题)详解