当前位置: 首页 > news >正文

每天一道算法题(十)——获取和为k的子数组

文章目录

  • 1、问题
  • 2、示例
  • 3、解决方法
    • (1)方法1——双指针
  • 总结


1、问题

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。
子数组是数组中元素的连续非空序列。

2、示例

示例 1:
输入:nums = [1,1,1], k = 2
输出:2
示例 2:
输入:nums = [1,2,3], k = 3
输出:1

3、解决方法

(1)方法1——双指针

let nums = [1,1,1], k = 3
var subarraySum = function(nums, k) {// 1-1:定义左右指针let left =0;right = 1;// 1-2:存储获取左指针的下标(右指针也可以,因为需求是返回个数)let arr = [];// 2: 如果传入数组小于等于一个值,没有可以相加的数据,直接返回0if(nums.length<=1) return 0;// 3: 判断右指针 小于等于 数组长度结束循环while(right <= nums.length) {// 4-1:如果左右指针为下标对于数组的值 等于  整数k if(nums[left] + nums[right] == k) {// 4-2:将符合条件的下标存储起来arr.push(left)}// 4-2 左右指针都自增left++;right++;}// 5;返回符合条件的长度console.log('返回数组和为k的子数组的个数', arr.length);
};
subarraySum(nums, k);

总结

(1)难度: 中等
(2)相同文章:
每天一道算法题(八)——找出字符串中无重复字符的最长子串
每天一道算法题(九)——寻找字符串中所有字母异位词的子串

http://www.lryc.cn/news/239393.html

相关文章:

  • 2023年亚太杯数学建模思路 - 案例:最短时间生产计划安排
  • 在vscode中使用Latex:TexLive2023
  • Unity开发之C#基础-File文件读取
  • 深度学习之二(前馈神经网络--Feedforward Neural Network)
  • 2023全球边缘计算大会深圳站-核心PPT资料下载
  • 【亚太杯思路助攻】2023年第十三届APMCM亚太地区大学生数学建模竞赛——(文末领取方式)
  • vue开发一、在Vue中引入ElementUI二、在Vue中使用阿里图标库
  • 基于SpringBoot+Mybatis plus+React.js实现条件选择切换搜索功能
  • 【STM32】W25Q64 SPI(串行外设接口)
  • 如何使用Mondo Rescue备份及恢复Linux系统(制作ISO镜像,成功恢复)
  • Java如何获取泛型类型
  • 2023年【起重机械指挥】考试题及起重机械指挥找解析
  • 【前端学java】Java中的接口和枚举概念(7)
  • P8611 [蓝桥杯 2014 省 AB] 蚂蚁感冒(模拟)
  • 边缘计算是如何为元宇宙提供动力的?
  • 优秀智慧园区案例 - 上海世博文化公园智慧园区,先进智慧园区建设方案经验
  • 【DevOps】Git 图文详解(五):远程仓库
  • 如果在手机没有root的情况下完成安卓手机数据恢复
  • C++学习 --stack
  • 简单但好用:4种Selenium截图方法了解一下!
  • 【报错记录】解决使用Kotlin写的SpringBoot项目使用Aspect切面无法生效的问题
  • 在python中分别利用numpy,tensorflow,pytorch实现数据的增加维度(升维),减少维度(降维)
  • 基于天鹰算法优化概率神经网络PNN的分类预测 - 附代码
  • Flutter的Event Loop
  • HarmonyOS ArkTSTabs组件的使用(六)
  • 【MetaLearning】有关Pytorch的元学习库higher的基本用法
  • 火山引擎 ByteHouse 的增强型数据导入技术实践
  • 依赖库:Ceres-solver-2.0.0安装
  • LeSS敏捷框架高效生产力实践
  • matlab绘图函数plot和fplot的区别