每日刷题_牛客_数组中重复的数字

事件还早,再来一个简单的吧

题目描述:

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。

主要思路

拿一个辅助数组先将所给数组的第一个值给它,遍历所给数组的同时。拿遍历的当前元素去辅助数组里找,看是否有相同的。有则返回没有则把这个元素也加到辅助数组

代码

function duplicate(numbers, duplication) {
            // write code here
            //这里要特别注意~找到任意重复的一个值并赋值到duplication[0]
            //函数返回True/False
            duplication[0] = -1;//别问我为什么要给它一个-1的值,问我也只能说牛客逼的。不然我下面判断返回true还是fasle的时候不好说
            let arr = [];
            arr.push(numbers[0]);
            for (let i = 1; i < numbers.length; i++) {
                if (arr.includes(numbers[i])) {
                    duplication[0] = numbers[i];
                    break;
                } else {

                    arr.push(numbers[i]);

                }
            }

            if (duplication[0] != -1) {
                return true;

            } else {
                return false;
            }



        }

在这里插入图片描述

发布了68 篇原创文章 · 获赞 82 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41086511/article/details/104486750