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

数组中重复的数字

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 安徽

相关推荐

11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务