题解 | #数组中重复的数字#

数组中重复的数字

http://www.nowcoder.com/practice/6fe361ede7e54db1b84adc81d09d8524

 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param numbers int整型一维数组 
 * @return int整型
 */
export function duplicate(numbers: number[]): number {
    // write code here
    const list1 = [...numbers];
    const list2 = [...numbers];
    let value = -1
    for(let i=0; i<list1.length; i++) {
        list2[i] = null;
        if(list2.indexOf(list1[i]) >= 0) {
            value = list1[i]
            return value
        }
    }
    return -1
}

思路:利用两个相同的数组来是否有相同的值在数组中(在查找相同值时赋值相同位置的值为空)

全部评论
利用 es6 的 set 解法好点 export function duplicate(numbers: number[]): number { // write code here const set = new Set(); for(let i = 0; i < numbers.length; i ++) { set.add(numbers[i]); if (set.size < i + 1) { return numbers[i] } } return -1 }
点赞 回复 分享
发布于 2023-03-09 16:48 安徽

相关推荐

07-15 12:24
重庆大学 运营
坏消息:和好工作擦肩而过
给点吧求求了:怎么可能因为差几秒,估计就是简历更好看婉拒了
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务