无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

2357. 使數(shù)組中所有元素都等于零

2023-02-24 18:15 作者:目標(biāo)力扣Knight  | 我要投稿

2357. 使數(shù)組中所有元素都等于零

方法一:模擬

只要數(shù)組中還有大于0的非零數(shù),我們反復(fù)獲取其中大于零的最小正整數(shù),然后用數(shù)組中的每一個(gè)非零數(shù)減去最小正整數(shù);

Python版本

C++版本


復(fù)雜度分析

  • 時(shí)間復(fù)雜度: O(C)。數(shù)組中有多少種數(shù),則會(huì)進(jìn)行多少次循環(huán),數(shù)值的值域的上限為100。

  • 空間復(fù)雜度:O(1)。

方法二:貪心

將數(shù)組所有元素削減為零,等價(jià)于將數(shù)組中最大的元素削減為零;每一次操作刪除最小的非零數(shù),對(duì)于一個(gè)唯一的數(shù)來說,非零數(shù)立即被置為零,對(duì)于多個(gè)同值的數(shù)而言,將被同時(shí)減去最小非零數(shù)。因此問題就轉(zhuǎn)化為:求數(shù)組中非零數(shù)的種數(shù),此處的指的是是數(shù)值;

Python版本

C++版本

復(fù)雜度分析

  • 時(shí)間復(fù)雜度:O(C)。最多重復(fù)100次。

  • 空間復(fù)雜度:O(C)。集合去重,由題可知最多有100個(gè)不同的數(shù)字;

備注

  1. 使用while循環(huán)一定要注意入口條件和出口條件,在方法一中,我們本可以用 any() | all()語(yǔ)句判斷是否數(shù)組中是否還存在非零數(shù),但不夠簡(jiǎn)潔,寫題速度不夠快。其次注意本題的操作對(duì)象,每次均對(duì)非零數(shù)減去最小非零整數(shù),若選取最小值再對(duì)所有數(shù)減去最小值,那么數(shù)組中每一個(gè)元素會(huì)無(wú)限減小,但永不為零,導(dǎo)致解題進(jìn)入 TLE的死循環(huán)。總之 慎用 while 循環(huán),優(yōu)選 for 循環(huán)


2357. 使數(shù)組中所有元素都等于零的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
射洪县| 康平县| 怀安县| 新绛县| 博爱县| 望江县| 兖州市| 福贡县| 金门县| 利川市| 巴青县| 黄龙县| 西宁市| 拉萨市| 浑源县| 揭西县| 三原县| 望谟县| 花垣县| 都匀市| 太保市| 遂宁市| 紫云| 石门县| 莱阳市| 郓城县| 泗洪县| 张家界市| 新兴县| 长春市| 屏东县| 崇左市| 逊克县| 宝鸡市| 铜鼓县| 深水埗区| 太康县| 台北市| 沈丘县| 昌江| 南城县|