【力扣打卡系列】滑动窗口与双指针(乘积小于K的子数组)

devtools/2024/10/20 22:50:16/

坚持按题型打卡&刷&梳理力扣算法题系列,语言为go,Day6

乘积小于K的子数组
  • 题目描述在这里插入图片描述
  • 解题思路
    • 双指针移动,遍历右端点right,滑动左端点left
    • 子数组的个数:固定右端点r,子数组的个数其实就是从l到r的元素的个数,即r-l+1
    • 反向控制条件for sum >= k{},当sum<k,即满足操作时,执行ans += right-left +1
  • 代码参考
go">func numSubarrayProductLessThanK(nums []int, k int) int {left := 0sum := 1ans := 0if k <= 1 {return 0}for right,value :=range nums{sum *= valuefor sum >= k{sum /= nums[left]left++}ans += right-left +1}return ans
}
  • tips
    • 双指针的应用场景
    • 指针移动的过程中,sum和是在不断变小的,while条件逐渐从满足要求变为不满足要求,这就是单调性,只有满足单调性才可以使用双指针
    • 子数组的个数:固定右端点r,子数组的个数其实就是从l到r的元素的个数,即r-l+1
    • 即[l,r]满足要求的话,[l,r],[l+1,r]…[r,r]都是满足要求的(固定右端点)

http://www.ppmy.cn/devtools/127401.html

相关文章

轻松应对PDF编辑难题:四款免费pdf编辑器实测体验

作为一名办公室文员&#xff0c;每天处理各种文件是家常便饭。而PDF文档因其格式稳定、不易篡改的特性&#xff0c;在工作中扮演着重要角色。但编辑PDF文件却不像编辑Word文档那样简单&#xff0c;这就需要一款得心应手的PDF编辑器。今天&#xff0c;我就来分享一下我使用过的几…

php判断身份证是否合法的方法

/*** 身份证认证** param $idcard* return bool*/public function idcard_checksum18($idcard){$mainlandResult false;$hongKongResult false;$macaoResult false;$taiwanResult false;//大陆身份证判断if(strlen($idcard) 18 ){$idcard_basesubstr($idcard,0,17);if($thi…

轻量级可视化数据分析报表,分组汇总表!

什么是可视化分组汇总表&#xff1f; 可视化分组汇总表&#xff0c;是一种结合了数据分组、聚合计算与视觉呈现功能的数据分析展示功能。它能够按照指定的维度&#xff08;如时间、地区、产品类型等&#xff09;对数据进行分组&#xff0c;还能自动计算各组的统计指标&#xf…

JavaScript 中的定时器与动画基础

setInterval 和 setTimeout 都是 JavaScript 中的定时器函数&#xff0c;用于在一定的时间间隔后执行函数。 setInterval 函数用于按照指定的时间间隔重复执行一个函数。它接受两个参数&#xff0c;第一个参数是要执行的函数&#xff0c;第二个参数是时间间隔的毫秒数。使用示…

react antd redux 全局状态管理 解决修改菜单状态 同步刷新左侧菜单

npm i react-redux1.src新建两个文件 globalState.js 全局状态定义 store.js 全局存储定义 2.globalState.js import { createSlice } from "reduxjs/toolkit";export const globalState createSlice({name: "globalState",initialState: { data: {} },r…

【Docker项目实战】使用Docker部署HumHub社交网络平台

【Docker项目实战】使用Docker部署HumHub社交网络平台 一、HumHub介绍1.1 HumHub简介1.2 HumHub特点1.3 主要使用场景二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载HumHub镜…

笔试练习day7

目录 OR59 字符串中找出连续最长的数字串题目解析解法(双指针遍历)代码 NC109 岛屿数量题目解析解法代码(dfs)dfs的实现 拼三角题目解析解法(枚举)代码 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 &#x1f412;&#x1f412;&#x1f412; 个人主页 &…

wifi、热点密码破解 - python

乐子脚本&#xff0c;有点小慢&#xff0c;试过多线程&#xff0c;系统 wifi 连接太慢了&#xff0c;需要时间确认&#xff0c;多线程的话系统根本反应不过来。 也就可以试试破解别人的热点&#xff0c;一般都是 123456 这样的傻鸟口令 # coding:utf-8 import pywifi from pyw…