最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
山丹县| 双流县| 伊川县| 弋阳县| 桦甸市| 安福县| 新安县| 柏乡县| 高邮市| 静乐县| 习水县| 尤溪县| 澄城县| 新巴尔虎右旗| 泌阳县| 定边县| 蚌埠市| 永胜县| 河间市| 威海市| 陕西省| 呼和浩特市| 孝义市| 隆安县| 遵化市| 邯郸市| 齐齐哈尔市| 博爱县| 胶南市| 吉安县| 五台县| 天峨县| 泾阳县| 新郑市| 新民市| 丹阳市| 合江县| 郁南县| 卓资县| 北京市| 广德县|