国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

LeetCode:1785. 構(gòu)成特定和需要添加的最少元素

2023-02-19 17:54 作者:就tm你叫玉璽啊  | 我要投稿

題目:

給你一個(gè)整數(shù)數(shù)組?nums?,和兩個(gè)整數(shù)?limit?與?goal?。數(shù)組?nums?有一條重要屬性:abs(nums[i]) <= limit?。

返回使數(shù)組元素總和等于?goal?所需要向數(shù)組中添加的?最少元素?cái)?shù)量?,添加元素?不應(yīng)改變?數(shù)組中?abs(nums[i]) <= limit?這一屬性。

注意,如果?x >= 0?,那么?abs(x)?等于?x?;否則,等于?-x?。

難度:中等

示例 1:

輸入:nums = [1,-1,1], limit = 3, goal = -4

輸出:2

解釋:可以將 -2 和 -3 添加到數(shù)組中,數(shù)組的元素總和變?yōu)?1 - 1 + 1 - 2 - 3 = -4 。

示例 2:

輸入:nums = [1,-10,9,1], limit = 100, goal = 0

輸出:1

?

提示:

  • 1 <= nums.length <= 105

  • 1 <= limit <= 106

  • -limit <= nums[i] <= limit

  • -109 <= goal <= 109

代碼如下:

class Solution {

public:

? ? int minElements(vector<int>& nums, int limit, int goal) {

? ? ? ? //記錄nums數(shù)組中每一個(gè)數(shù)據(jù)相加之和

? ? ? ? //注意:必須使用longlongint,若用int會(huì)因?yàn)閿?shù)據(jù)過大而溢出

? ? ? ? long long int sum = 0;

? ? ? ? //計(jì)算nums中數(shù)據(jù)之和

? ? ? ? //正常for循環(huán)同樣可以計(jì)算,只需i<nums.size(),但是這樣更快

? ? ? ? for(auto n:nums)

? ? ? ? {

? ? ? ? ? ? sum+=n;

? ? ? ? }

? ? ? ? //計(jì)算目標(biāo)值和數(shù)組中數(shù)據(jù)和的差值的絕對(duì)值用于向上取整。同樣得用longlong

? ? ? ? long long int x = abs(goal-sum);

? ? ? ? //若x能被limit整除,則答案為x/limit;若x不能被整除,則答案為x/limit+1。

? ? ? ? //此時(shí)答案為(x+limit-1)/limit與上面一行等價(jià)(可自行驗(yàn)證)

? ? ? ? return (x+limit-1)/limit;

? ? }

};


很簡單的中等難度題,一共七行代碼就可以寫完。開始int溢出的時(shí)候還以為要邊遍歷邊維護(hù),結(jié)果加個(gè)longlong就完事了

LeetCode:1785. 構(gòu)成特定和需要添加的最少元素的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
扎兰屯市| 黄平县| 旌德县| 天镇县| 化德县| 新疆| 进贤县| 鲁甸县| 蕉岭县| 蒲江县| 桃源县| 溆浦县| 柳江县| 都江堰市| 滕州市| 泰安市| 漯河市| 泊头市| 巴里| 隆昌县| 邢台县| 雅江县| 绥德县| 邓州市| 寿宁县| 南京市| 巴林右旗| 绥江县| 阿克苏市| 禹州市| 东海县| 曲沃县| 光山县| 厦门市| 和顺县| 湘潭市| 东乌珠穆沁旗| 怀集县| 克东县| 元谋县| 乌拉特中旗|