最长和谐子序列,滑动窗口

最长和谐子序列

arduino 复制代码
//最长和谐子序列

// 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。
// 给你一个整数数组 nums ,请你在所有可能的 子序列 中找到最长的和谐子序列的长度。
// 数组的 子序列 是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。

// 输入:nums = [1,3,2,2,5,2,3,7]
// 输出:5
// 解释:
// 最长和谐子序列是 [3,2,2,2,3]。

var findLHS=function (nums){
    nums.sort((a,b)=>a-b);// 排序
    let begin=0;//头指针
    let res=0;//结果
    for(let end=0;end<nums.length;end++){//尾指针
        while (nums[end]-nums[begin]>1){//滑动窗口寻找头指针位置
            begin++;
        }
        if(nums[end]-nums[begin]===1){//判断头尾节点相差一的结果
            res=Math.max(res,end-begin+1);
        }
    }
    return res;
}
相关推荐
知识分享小能手10 分钟前
微信小程序入门学习教程,从入门到精通,微信小程序页面交互 —— 知识点详解与案例实现(3)
前端·javascript·学习·react.js·微信小程序·小程序·交互
石小石Orz15 分钟前
思考许久,我还是提交了离职申请
前端
m0_6161884917 分钟前
CSS中的伪类和伪元素
前端·javascript·css
一个小潘桃鸭18 分钟前
组件抽离:el-upload支持图片粘贴上传并添加预览
前端
用户0925 分钟前
停止滥用 Dispatchers.IO:Kotlin 协程调度器的深度陷阱与优化实战
android·面试·kotlin
快乐就好ya26 分钟前
React基础到进阶
前端·javascript·react.js
小龙在山东32 分钟前
VS Code 使用 Chrome DevTools MCP 实现浏览器自动化
前端·自动化·chrome devtools
悠哉摸鱼大王33 分钟前
多模态场景下tts功能实现
前端·javascript
东华帝君36 分钟前
__proto__对比prototype
前端
夜晓码农40 分钟前
VSCode Web版本安装
前端·ide·vscode