剑指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");
    }


相关文章
|
1月前
|
机器学习/深度学习 Java
【剑指offer】- 求1+2+3+...+n -47/67
【剑指offer】- 求1+2+3+...+n -47/67
|
1月前
剑指Offer(第二版)04
剑指Offer(第二版)04
10 0
|
1月前
剑指Offer(第二版)10-2
剑指Offer(第二版)10-2
15 0
|
1月前
剑指Offer(第二版)05
剑指Offer(第二版)05
12 0
|
1月前
剑指Offer(第二版)06
剑指Offer(第二版)06
14 0
|
1月前
剑指Offer(第二版)11
剑指Offer(第二版)11
14 0
【剑指offer】-变态跳台阶-09/67
【剑指offer】-变态跳台阶-09/67
剑指offer 72. 求1+2+…+n
剑指offer 72. 求1+2+…+n
57 0
|
存储 JSON 机器人
剑指offer(60-67题)详解
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
81 0
剑指offer(60-67题)详解
|
算法 Java
剑指offer(1-10题)详解
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
111 0
剑指offer(1-10题)详解