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

最长和谐子序列

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;
}
相关推荐
iMonster11 小时前
React 组件的组合模式之道 (Composition Pattern)
前端
呐呐呐呐呢11 小时前
antd渐变色边框按钮
前端
元直数字电路验证11 小时前
Jakarta EE Web 聊天室技术梳理
前端
wadesir11 小时前
Nginx配置文件CPU优化(从零开始提升Web服务器性能)
服务器·前端·nginx
牧码岛11 小时前
Web前端之canvas实现图片融合与清晰度介绍、合并
前端·javascript·css·html·web·canvas·web前端
灵犀坠11 小时前
前端面试八股复习心得
开发语言·前端·javascript
9***Y4811 小时前
前端动画性能优化
前端
网络点点滴11 小时前
Vue3嵌套路由
前端·javascript·vue.js
牧码岛11 小时前
Web前端之Vue+Element打印时输入值没有及时更新dom的问题
前端·javascript·html·web·web前端
小二李11 小时前
第8章 Node框架实战篇 - 文件上传与管理
前端·javascript·数据库