首页 > 其他分享 >js-存在重复元素

js-存在重复元素

时间:2024-10-10 18:21:44浏览次数:8  
标签:false nums 重复 元素 js length let return else

219. 存在重复元素 II

给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。

代码:

第一次尝试:

/**

 * @param {number[]} nums

 * @param {number} k

 * @return {boolean}

 */

var containsNearbyDuplicate = function(nums, k) {

    if(k==0) return false

    if(nums.length<=k) if([...new Set(nums)].length<nums.length) return true

    else return false

    for(let i=0 ; i<nums.length-k; i++ ){

        let num = nums.slice(i,i+k+1)

        // console.log(1,nums,num,[...new Set(num)].length)

        if([...new Set(num)].length<k+1) return true

    }

    return false

};

//超时了。

第二次尝试:

var containsNearbyDuplicate = function(nums, k) {

    if(k==0) return false

    if(nums.length<=k) if([...new Set(nums)].length<nums.length) return true

    else return false

    let m = new Map()

    for(let i=0 ; i<nums.length; i++ ){

        if(!m.has(nums[i])){

            m.set(nums[i],i)

        }else{

            if(m.get(nums[i])+k>=i) return true

            else m.set(nums[i],i)

        }

        // console.log(m)

    }

    return false

};

成功通过。

标签:false,nums,重复,元素,js,length,let,return,else
From: https://blog.csdn.net/qq_62541773/article/details/142707962

相关文章

  • 【玩转 JS 函数式编程_010】3.2 JS 函数式编程筑基之:以函数式编程的方式活用函数(上)
    写在前面按照惯例,过长的篇幅分开介绍,本篇为JavaScript函数式编程核心基础的第二部分——以函数式编程的方式活用函数的上篇,分别介绍了JS函数在排序、回调、Promise期约、以及连续传递等应用场景下的用法演示。和之前章节相比难度又有一定的提升。准备好了吗?3.2.以......
  • 基于nodejs+vue疫情防控管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景近年来,全球范围内频繁爆发的疫情给社会带来了前所未有的挑战,特别是在校园这一人员密集且流动性大的环境中,疫情防控工作显得尤为重要。随着信息技术的飞速发......
  • 基于nodejs+vue疫情防控管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在新冠疫情全球蔓延的背景下,校园作为人员密集、流动性大的特殊场所,疫情防控工作显得尤为重要。随着疫情形势的不断变化,传统的人工管理模式已难以满足高效、......
  • 算法训练营第十天|232.用栈实现队列 ,225. 用队列实现栈,20. 有效的括号,1047. 删除字符
    前置知识栈和队列都是以deque为缺省底部结构,实际上可以自己指定vector,deque,list都可以栈和队列都被归类为containeradapter(容器适配器)使用栈实现队列的操作:push(x)--将一个元素放入队列的尾部。pop()--从队列首部移除元素。peek()--返回队列首部的元素。empty()......
  • 基于nodejs+vue疫情防控管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景近年来,全球范围内频繁爆发的疫情给社会生活和经济发展带来了巨大挑战。特别是在校园环境中,人员密集、流动性大,疫情防控难度尤为突出。为了确保师生的健康安......
  • Nuxt.js 应用中的 page:transition:finish 钩子详解
    title:Nuxt.js应用中的page:transition:finish钩子详解date:2024/10/10updated:2024/10/10author:cmdragonexcerpt:page:transition:finish是Nuxt.js中的一个事件钩子,专门用于处理页面过渡效果结束后的逻辑。这一钩子在页面过渡的onAfterLeave事件之后被调用,允......
  • 三个元素
    题目给定一个包含n个整数的列表 nums,请判断 nums 中是否存在三个元素a,b,c,使得 a+b+c=0?请你找出所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。例如:给定一个列表:[-1,0,1,2,-1,-4]返回结果:[(-1,-1,2),(-1,0,1)]给定一个列表:[1,2,......
  • 基于Node.js+vue高校宿舍分配管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着高校招生规模的不断扩大,学生宿舍的管理变得日益复杂。传统的人工分配和管理方式不仅效率低下,而且容易出错,无法满足现代高校宿舍管理的需求。为了提升宿......
  • 基于Node.js+vue防疫物资管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景近年来,全球范围内疫情的频繁爆发对公共卫生体系构成了严峻挑战。防疫物资作为抗击疫情的重要基础,其高效管理和合理分配直接关系到疫情防控的成效。然而,传统......
  • 基于Node.js+vue高考志愿推荐平台(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着高等教育的普及和高考制度的改革,考生和家长在高考志愿填报时面临着越来越多的选择和挑战。传统的志愿填报方式往往依赖于纸质资料、口头咨询或网络搜索,......