5341 最後 K 個數的乘積

2021-10-02 21:17:29 字數 848 閱讀 5381

請你實現乙個「數字乘積類」productofnumbers,要求支援下述兩種方法:

1. add(int num)

將數字 num 新增到當前數字列表的最後面。

2. getproduct(int k)

返回當前數字列表中,最後 k 個數字的乘積。

你可以假設當前列表中始終 至少 包含 k 個數字。

題目資料保證:任何時候,任一連續數字序列的乘積都在 32-bit 整數範圍內,不會溢位。

方法:字首和思想

class productofnumbers(object):

def __init__(self):

self.a=[1]

def add(self, num):

""":type num: int

:rtype: none

"""if num == 0:

self.a=[1]

else:

def getproduct(self, k):

""":type k: int

:rtype: int

"""if k>=len(self.a):

return 0

return self.a[-1]/self.a[-k-1]

# your productofnumbers object will be instantiated and called as such:

# obj = productofnumbers()

# obj.add(num)

# param_2 = obj.getproduct(k)

LeetCode5341 最後 K 個數的乘積

請你實現乙個 數字乘積類 productofnumbers,要求支援下述兩種方法 1.add int num 將數字 num 新增到當前數字列表的最後面。2.getproduct int k 返回當前數字列表中,最後 k 個數字的乘積。你可以假設當前列表中始終 至少 包含 k 個數字。題目資料保證 ...

陣列演算法 乘積小於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 的乘積是...

乘積小於k的子陣列

給定乙個正整數陣列 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的子陣列。說明 定義兩...