https://leetcode.com/problems/subarray-product-less-than-k 713. Subarray Product Less Than K 給你一個陣列 nums,找出他的子陣列有幾個內積小於k。 思路: 1.滿足特定條件的子陣列問題基本上都是滑動窗口,維護一個窗口保存當前內積,如果不 滿足條件就把前面的元素pop掉,把窗口的大小加總即可。 py code ---------------------------------------------------- class Solution: def numSubarrayProductLessThanK(self, nums: List[int], k: int) -> int: if k <= 1: return 0 res = 0 l = 0 product = 1 for r in range(len(nums)): product *= nums[r] while product >= k: product //= nums[l] l += 1 res += r - l + 1 return res ---------------------------------------------------- -- https://i.imgur.com/Df746ya.jpg
-- ※ 發信站: 批踢踢實業坊(ptt-web.org.tw), 來自: 101.138.213.250 (臺灣) ※ 文章網址: https://ptt-web.org.tw/Marginalman/M.1711507242.A.066
JIWP: 大師 03/27 10:44
DJYOSHITAKA: 大師 03/27 11:18