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

最长和谐子序列

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;
}
相关推荐
张元清1 分钟前
在 React 中构建沉浸式 Web 应用:全屏、屏幕常亮与系统通知
前端·javascript·面试
王霸天3 分钟前
💥大屏卡成 PPT?这 3 个性能优化招数亲测有效
前端·vue.js·数据可视化
ahhdfjfdf3 分钟前
微信H5 页面定位权限处理
前端·javascript
蓝黑20207 分钟前
Vue组件通信之emit
前端·javascript·vue
kyriewen8 分钟前
线上Bug炸了,用户骂你你却不知道?前端监控教你“远程开天眼”
前端·javascript·监控
网络点点滴9 分钟前
创建一个简单的web服务器
运维·服务器·前端
Arva .21 分钟前
ES 面试
elasticsearch·面试
半页码书21 分钟前
半结构化面试是什么?跟结构化面试有什么区别?
人工智能·面试·职场和发展·求职招聘·职场发展·远程工作
kisloy31 分钟前
【反爬虫】极验4 W参数逆向分析
java·javascript·爬虫