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

数组中重复的数字

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

相关推荐

05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
05-12 16:04
已编辑
江西财经大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务