給你乙個陣列nums
。陣列「動態和」的計算公式為:runningsum[i] = sum(nums[0]…nums[i])
。
請返回nums
的動態和。
示例 1:
輸入:nums = [1,2,3,4]
輸出:[1,3,6,10]
解釋:動態和計算過程為 [1, 1+2, 1+2+3, 1+2+3+4] 。
1 <= nums.length <= 1000
-10^6 <= nums[i] <= 10^6
迭代求和即可。
給你乙個整數陣列arr
和乙個整數k
。現需要從陣列中恰好移除k
個元素,請找出移除後陣列中不同整數的最少數目。
示例 1:
輸入:arr = [5,5,4], k = 1
輸出:1
解釋:移除 1 個 4 ,陣列中只剩下 5 一種整數。
示例 2:
輸入:arr = [4,3,1,1,3,3,2], k = 3
輸出:2
解釋:先移除 4、2 ,然後再移除兩個 1 中的任意 1 個或者三個 3 中的任意 1 個,最後剩下 1 和 3 兩種整數。
給你乙個整數陣列bloomday
,以及兩個整數m
和k
。
現需要製作m
束花。製作花束時,需要使用花園中 相鄰的k
朵花 。
花園中有n
朵花,第i
朵花會在bloomday[i]
時盛開,恰好 可以用於 一束 花中。
請你返回從花園中摘m
束花需要等待的最少的天數。如果不能摘到m
束花則返回-1
。
示例 1:
輸入:bloomday = [1,10,3,10,2], m = 3, k = 1
輸出:3
解釋:讓我們一起觀察這三天的花開過程,x 表示花開,而 _ 表示花還未開。
現在需要製作 3 束花,每束只需要 1 朵。
1 天後:[x, _, _, _, _] // 只能製作 1 束花
2 天後:[x, _, _, _, x] // 只能製作 2 束花
3 天後:[x, _, x, _, x] // 可以製作 3 束花,答案為 3
示例 2:
輸入:bloomday = [1,10,3,10,2], m = 3, k = 2
輸出:-1
解釋:要製作 3 束花,每束需要 2 朵花,也就是一共需要 6 朵花。而花園中只有 5 朵花,無法滿足製作要求,返回 -1 。
示例 3:
輸入:bloomday = [7,7,7,7,12,7,7], m = 2, k = 3
輸出:12
解釋:要製作 2 束花,每束需要 3 朵。
花園在 7 天後和 12 天後的情況如下:
7 天後:[x, x, x, x, _, x, x]
可以用前 3 朵盛開的花製作第一束花。但不能使用後 3 朵盛開的花,因為它們不相鄰。
12 天後:[x, x, x, x, x, x, x]
顯然,我們可以用不同的方式製作兩束花。
示例 4:
輸入:bloomday = [1000000000,1000000000], m = 1, k = 1
輸出:1000000000
解釋:需要等 1000000000 天才能採到花來製作花束
示例 5:
輸入:bloomday = [1,10,2,9,3,8,4,7,5,6], m = 4, k = 2
輸出:9
bloomday.length == n
1 <= n <= 10^5
1 <= bloomday[i] <= 10^9
1 <= m <= 10^6
1 <= k <= n
LeetCode第193場周賽
class solution class solution return que.size 這裡yxc 寫的極好 yxc 用區間來處理 常數大部分情況下更小 class solution intmindays vector int bs,int m,int k vector int l n 2 r ...
LeetCode 第 193 場周賽
5436.一維陣列的動態和 給你乙個陣列nums。陣列 動態和 的計算公式為 runningsum i sum nums 0 nums i 請返回nums的動態和。示例 1 輸入 nums 1,2,3,4 輸出 1,3,6,10 解釋 動態和計算過程為 1,1 2,1 2 3,1 2 3 4 示例 ...
第193場周賽
class solution return res class solution map maps new treemap int len arr.length int max 1 for int i 0 i else int totoalnum maps.size arraylist sorted...