剑指Offer——和为S的连续正数序列(JS实现)

简介: 剑指Offer——和为S的连续正数序列(JS实现)

前言

掘金团队号上线,助你 Offer 临门! 点击 查看详情

题目描述

image.png

解题思路

  • 使用left和right两个变量来代替滑动窗口的左边界和右边界。
  • 核心while循环的条件是:只要左边界 小于 目标值的一半就要进入循环,只要不小于循环结束,说明此时已经找到完了。
  • 定义temp变量,用来存放滑动窗口中的所有元素的和。
  • 当temp小于target的值的时候,右边界向右扩一个。
  • 当temp大于target的时候,左边向右一个

实现代码

var findContinuousSequence = function(target) {
    let left = 1;
    let right = 1;
    let arr = [];
    let temp = 0;
    // 下面的这个result数组是用来返回的
    let result = [];
    // 核心判断条件是当 left >= target/2 的时候 left + tight >= target
    while (left < (target/2)) {
        while (temp < target) {
            temp = temp + right;
            arr.push(right);
            right += 1;
        }
        while (temp > target) {
            temp = temp - left;
            arr.shift();
            left += 1;
        }
        if (target === temp) {
            temp = temp - left;
            left++;
            result.push([...arr]);
            arr.shift();
        }
    }
    return result;
};
作者:Always_positive
链接:https://juejin.cn/post/6948663974632095758
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关文章
|
2月前
|
存储 JSON JavaScript
「offer来了」保姆级巩固你的js知识体系(4.0w字)
该文章提供了JavaScript知识体系的全面复习资料,覆盖了从基础语法到高级特性如闭包、原型链、异步编程等多个方面,并通过大量的面试题和实例代码帮助巩固理解。
「offer来了」保姆级巩固你的js知识体系(4.0w字)
|
2月前
|
JavaScript 前端开发
JavaScript写的序列代码生成器
JavaScript写的序列代码生成器
|
4月前
|
JavaScript 前端开发 算法
前端 JS 经典:最长递增子序列
前端 JS 经典:最长递增子序列
45 2
|
5月前
|
存储 JavaScript 前端开发
JavaScript中的数组是核心数据结构,用于存储和操作序列数据
【6月更文挑战第22天】JavaScript中的数组是核心数据结构,用于存储和操作序列数据。创建数组可以使用字面量`[]`或`new Array()`。访问元素通过索引,如`myArray[0]`,修改同样如此。常见方法包括:`push()`添加元素至末尾,`pop()`移除末尾元素,`shift()`移除首元素,`unshift()`添加到开头,`join()`连接为字符串,`slice()`提取子数组,`splice()`进行删除、替换,`indexOf()`查找元素位置,`sort()`排序数组。还有其他如`reverse()`、`concat()`等方法。
130 2
|
6月前
|
JavaScript 前端开发
剑指 Offer 31. 栈的压入、弹出序列 (javascript实现)
剑指 Offer 31. 栈的压入、弹出序列 (javascript实现)
|
6月前
|
算法 JavaScript
JS算法-最长连续序列
JS算法-最长连续序列
|
6月前
|
JavaScript 前端开发
JavaScript题解剑指offer : 09. 用两个栈实现队列
JavaScript题解剑指offer : 09. 用两个栈实现队列
42 0
|
JavaScript 前端开发 程序员
六个 JavaScript 中有效的转义序列
六个 JavaScript 中有效的转义序列
102 0
|
JavaScript 前端开发 程序员
《剑指 Offer(第 2 版)》树部分JavaScript题解
《剑指 Offer(第 2 版)》树部分JavaScript题解
《剑指 Offer(第 2 版)》树部分JavaScript题解
|
存储 JavaScript 前端开发
《剑指 Offer(第 2 版)》队列部分 JavaScript 题解
《剑指 Offer(第 2 版)》队列部分 JavaScript 题解