給定乙個正整數陣列 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 的乘積是...