乘積小於k的子陣列

2021-09-23 10:12:35 字數 518 閱讀 8400

給定乙個正整數陣列 nums。

找出該陣列內乘積小於 k 的連續的子陣列的個數。

輸入: 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的子陣列。

說明:

定義兩個指標left,right分別初始化為陣列的起始位置,不斷的向右擴大right,在擴大的過程中記錄滿足條件的子陣列的個數,直到該乘積不再小於k,令乘積除以最左側的元素即nums[left],並令left右移(要確保left小於right)。直到right等於陣列長度結束。

public int numsubarrayproductlessthank(int nums, int k) 

return count;

}

子陣列乘積小於k

法一 暴力解法 def solution1 alist count 0for i in range len alist product 1for j in range i,len alist product alist j if product k break count 1return count...

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的...

陣列演算法 乘積小於K的子區間個數

題目 現給出乙個元素全為正整數的陣列nums和乙個正數k,計算nums裡面元素乘積小於k的子區間個數。leetcode 713 例子 輸入 nums 10,5,2,6 k 100 輸出 8 解釋 8個子區間分別是 10 5 2 6 10,5 5,2 2,6 5,2,6 注意到 10,5,2 的乘積是...