解题思路-LeetCode第713题:乘积小于K的子数组
题目描述:
给定一个正整数数组 nums。
找出该数组内乘积小于 k 的连续的子数组的个数。

示例 1:
输入: nums = [10,5,2,6], k = 100
输出: 8
解释: 8个乘积小于100的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。
需要注意的是 [10,5,2] 并不是乘积小于100的子数组。

解题思路:
利用滑动窗口法:
1 当k<=1时,由于数组为正整数数组,明显不存在满足题意的连续子数组,故直接返回结果0。
2 令保存结果的变量res=0,滑动区间左指针left=0,保存滑动区间中元素乘积的变量pro为1。
3 令滑动区间右指针right从数组左到右滑动,每滑动1次,让pro乘以新元素。如果此时pro大于等于k,则滑动左指针left,每滑动一次令pro除以nums[left],得到新的滑动区间的元素乘积,直到pro<k。此时,以right为右边界,以滑动区间中任一元素为左边界的子数组都满足题意。由此可以得到以right为子数组右边界的所有子树组的个数right-left+1,将改数值累加至结果res。
4 当right滑动到最右端后,res中便累加了以各个元素为子数组右端点时的有效子数组个数。返回res即可。

代码如下:

提交后,通过。

解题思路-LeetCode第713题:乘积小于K的子数组相关推荐

  1. LeetCode 713、乘积小于 K 的子数组

    713.乘积小于 K 的子数组 1)题目描述 给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目. 示例 1: 输入:nums = [10,5 ...

  2. LeetCode 937. 重新排列日志文件 / 1823. 找出游戏的获胜者(约瑟夫环问题) / 713. 乘积小于 K 的子数组

    937. 重新排列日志文件 2022.5.3 每日一题 题目描述 给你一个日志数组 logs.每条日志都是以空格分隔的字串,其第一个字为字母与数字混合的 标识符 . 有两种不同类型的日志: 字母日志: ...

  3. 0505|713. 乘积小于 K 的子数组

    0505|713. 乘积小于 K 的子数组 mid 滑动窗口. 求连续子树组的个数,"连续子树组"很强的暗示---使用滑动窗口. 本题只需记录 以每个数字为右边界所形成的有效子数组 ...

  4. LeetCode713. 乘积小于K的子数组

    LeetCode713. 乘积小于K的子数组 1. 问题描述 2. 思路 经典双指针问题 3. 代码 func numSubarrayProductLessThanK(nums []int, k in ...

  5. LeetCode 713 乘积小于K的子数组

    写在前面 一道很艺术的编程题~做学习记录 题目描述 给定一个正整数数组 nums和整数 k . 请找出该数组内乘积小于 k 的连续的子数组的个数. 示例 示例1: 输入: nums = [10,5,2 ...

  6. 20191021:(leetcode习题)乘积小于K的子数组

    乘积小于K的子数组 题目 大致思路 代码实现 题目 给定一个正整数数组 nums.找出该数组内乘积小于 k 的连续的子数组的个数. 输入: nums = [10,5,2,6], k = 100 输出: ...

  7. 力扣 713. 乘积小于K的子数组

    题目 给定一个正整数数组 nums和整数 k . 请找出该数组内乘积小于 k 的连续的子数组的个数. 示例 输入: nums = [10,5,2,6], k = 100 输出: 8 解释: 8个乘积小 ...

  8. 713. 乘积小于 K 的子数组

    给定一个正整数数组 nums和整数 k . 请找出该数组内乘积小于 k 的连续的子数组的个数. 示例 1: 输入: nums = [10,5,2,6], k = 100 输出: 8 解释: 8个乘积小 ...

  9. Leetcode--713. 乘积小于k的子数组

    给定一个正整数数组 nums. 找出该数组内乘积小于 k 的连续的子数组的个数. 示例 1: 输入: nums = [10,5,2,6], k = 100 输出: 8 解释: 8个乘积小于100的子数 ...

最新文章

  1. R语言使用car包的influencePlot函数将回归分析中的离群点(outlier)、杠杆(leverage)和影响(influence)的信息组合成一个高度信息量丰富的合成图
  2. emacs 入门教程,菜单汉化,配置文件等杂乱文章
  3. linux下spi有哪些函数,linux下怎么快速的使用 SPI 驱动。
  4. 怎样把java项目转换成web项目_Eclipse中将Java项目转换成Web项目的方法
  5. python不同版本安装;第三方库的安装
  6. 三国演义人物出场统计代码含义_Python分析《三国演义》人物出场次数,孔明第二,赵云第五...
  7. 为什么好多公司的开发语言从C#变成了JAVA
  8. 阿里云服务器mysql远程连接设置失败
  9. angular2+ 中封装调用递归tree
  10. 西门子PLCSIM仿真与第三方组态软件(包括HMI)的通信
  11. 【OEIS】Xor Sum AtCoder2272
  12. 【Photoshop】批量修改图片分辨率
  13. 借助 PowerVR 开发工具,让 iOS 应用在苹果 M1 电脑上实现更好体验
  14. 01-CSS属性:字体属性和文本属性
  15. 根据账户名称筛选收支明细
  16. 浏览器默认主页被360篡改解决办法
  17. openlayers 利用克里金插值法渲染等值面
  18. 输入法的半角和全角切换
  19. Fastadmin后台登录有效期设置
  20. 【板栗糖GIS】arcmap—如何批量修复mxd中路径失效的数据

热门文章

  1. SQL SUM() 函数
  2. Bootstrap 兼容 IE
  3. PL/SQL 11g R2 —— 包
  4. C++服务编译耗时优化原理及实践
  5. Kubernetes的四种用户部署场景,你知吗?
  6. 树莓派 cuda加速_【技术指南】 UL for Linux 树莓派数据采集
  7. AD10使用SVN更新嘉立创PCB集成库的方法
  8. 上位机开发之 SQL server数据库学习
  9. 30岁,银行工作,未婚女,考博OR考公务员?
  10. mysql数据库实验1