给定一个正整数数组 nums和整数 k 。

请找出该数组内乘积小于 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的子数组。
示例 2:

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

提示:

  • 1 <= nums.length <= 3 * 104
  • 1 <= nums[i] <= 1000
  • 0 <= k <= 106
class Solution {public int numSubarrayProductLessThanK(int[] nums, int k) {if(k <= 1)return 0;int left = 0;int right = 0;int num = 1;int ans = 0;for(;right < nums.length;right++){num *= nums[right];while(num >= k){num /=nums[left++];}ans += (right - left + 1);}return ans;}
}
/*
right-left+1的切入点是思维要放在区间的右边往左边延伸,例如区间[1, 2, 3, 4]满足要求,固定住right(4)的点,可选区间右[4]、[4, 3]、[4, 3, 2]、[4, 3, 2, 1]即为数组的长度,也就是right-left+1。而right是递增的,此时[1, 2, 3]的区间已经处理完([3]、[3, 2]、[3、2、1])。如果从left为切入点,就会有[1, 2, 3, 4]和[1, 2, 3]都有[1],不就是重复了的错乱思维。
*/

713. 乘积小于 K 的子数组相关推荐

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

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

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

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

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

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

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

    713. 乘积小于 K 的子数组 [双指针]s表示前j到i的数字的乘积,当发现乘积大于等于k的时候,就把j向右移动,并且把s除掉个nums[j],这样得到的就是以i结尾的符合要求的数组的最大长度,比这 ...

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

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

  6. 【713. 乘积小于 K 的子数组】

    leetcode力扣刷题打卡 题目:1. 两数之和 描述:给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目. 解题思路 1.双指针: 2.左 ...

  7. ⭐算法入门⭐《双指针》中等04 —— LeetCode 713. 乘积小于K的子数组

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

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

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

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

最新文章

  1. 支持百亿请求的微博广告运维技术实践
  2. tomcat8 热部署
  3. Java培训教程:Java中的位移运算符!
  4. [CTS2019]氪金手游
  5. 浅谈C/C++中的typedef和#define
  6. webx学习(四)——ResourceLoadingService
  7. 2018值得一看的GAN论文回顾
  8. java web请求转发_Javaweb请求转发及重定向实现详解
  9. 规划极限编程阅读笔记01
  10. iOS 开发仿网易云音乐歌词海报
  11. 8.26打架被批判一番还是要学习一个
  12. C语言冒泡排序(从小到大排序)
  13. matlab三极管名称,三极管常用型号大全(收藏)
  14. 你如何理解软件测试?
  15. 如何提高数学分析水平(转载)
  16. 服务器两个内存为何只显示4g_win10系统插入2个4G内存条却只显示4G的解决方法
  17. 问:全局变量是否可以定义在被多个.c文件包含的头文件.h中?
  18. PO(PageObject)模型
  19. register关键字的使用
  20. C语言——数组指针篇

热门文章

  1. 计算机组装与维修统测试卷7,计算机组装与维修》课程学业水平测试卷样卷答案...
  2. 中兴蓝剑计划面试经验
  3. 2019icpc上海区域赛(部分题解)
  4. 抖yin的X-gorgon算法
  5. 泉此方的一天-万恶的作业(homework)
  6. 2022年山东省安全员C证考试题库及山东省安全员C证考试报名
  7. 环境变量相关的shellshock攻击
  8. api-ms-win-crt-runtime-|1-1-0.dll插件丢失(64位)
  9. Protege、D2RQ、JENA与SPARQL
  10. 织梦mysql安装教程_新手教程:DedeCmsV5.7 SP1详细安装步骤(2)