Leetcode 1089. 復(fù)寫零

題目描述

給你一個長度固定的整數(shù)數(shù)組 arr介返,請你將該數(shù)組中出現(xiàn)的每個零都復(fù)寫一遍敌完,并將其余的元素向右平移享钞。

注意:請不要在超過該數(shù)組長度的位置寫入元素号胚。

要求:請對輸入的數(shù)組 就地 進(jìn)行上述修改女器,不要從函數(shù)返回任何東西栖秕。

示例 1:

輸入:[1,0,2,3,0,4,5,0]
輸出:null
解釋:調(diào)用函數(shù)后,輸入的數(shù)組將被修改為:[1,0,0,2,3,0,0,4]

示例 2:

輸入:[1,2,3]
輸出:null
解釋:調(diào)用函數(shù)后晓避,輸入的數(shù)組將被修改為:[1,2,3]

解法

由描述可知簇捍,該題目要求在數(shù)組中的每個零后添加一個零,原零后數(shù)組元素右移一位俏拱。

最簡單方式自然是遍歷數(shù)組元素暑塑,每遇到一個零,將后續(xù)所有元素右移一位锅必,填入零元素事格,直至數(shù)組末尾。但是該方式下搞隐,一個元素可能存在多次重復(fù)移動的操作驹愚,如果能直接確定每一個元素的最終位置,一次將元素移動到最終位置的話劣纲,則執(zhí)行上較為高效逢捺。

由題目可知,每個元素的最終位置為癞季,當(dāng)前元素位置加上該元素前零的個數(shù)劫瞳。所以不妨計算出元素前零的個數(shù)倘潜,則可以直接一次將元素移動到最終位置上。

在遍歷數(shù)組計算零的個數(shù)時志于,不一定遍歷到數(shù)組末尾涮因,因為數(shù)組中若存在零,則必然有元素被移除數(shù)組伺绽;

需要注意下养泡,如果最后一個元素是零的話,需要判斷復(fù)寫該零值奈应,是否超出數(shù)組邊界瓤荔。

class Solution:
    def duplicateZeros(self, arr: List[int]) -> None:
        """
        Do not return anything, modify arr in-place instead.
        """
        count,i=0,0
        while i+count<len(arr):
            if arr[i]==0:
                count+=1
            i+=1
        i-=1
        if i+count==len(arr):
            arr[-1],count,i=0,count-1,i-1
        while i>=0 and count>0:
            arr[i+count]=arr[i]
            if arr[i]==0:
                count-=1
                arr[i+count]=0
            i-=1
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市钥组,隨后出現(xiàn)的幾起案子输硝,更是在濱河造成了極大的恐慌,老刑警劉巖程梦,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件点把,死亡現(xiàn)場離奇詭異,居然都是意外死亡屿附,警方通過查閱死者的電腦和手機(jī)郎逃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挺份,“玉大人褒翰,你說我怎么就攤上這事≡炔矗” “怎么了优训?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長各聘。 經(jīng)常有香客問我揣非,道長,這世上最難降的妖魔是什么躲因? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任早敬,我火速辦了婚禮,結(jié)果婚禮上大脉,老公的妹妹穿的比我還像新娘搞监。我一直安慰自己,他們只是感情好镰矿,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布琐驴。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪棍矛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天抛杨,我揣著相機(jī)與錄音够委,去河邊找鬼。 笑死怖现,一個胖子當(dāng)著我的面吹牛茁帽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播屈嗤,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼潘拨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了饶号?” 一聲冷哼從身側(cè)響起铁追,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茫船,沒想到半個月后琅束,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡算谈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年涩禀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片然眼。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡艾船,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出高每,到底是詐尸還是另有隱情屿岂,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布鲸匿,位于F島的核電站雁社,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏晒骇。R本人自食惡果不足惜霉撵,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洪囤。 院中可真熱鬧徒坡,春花似錦、人聲如沸瘤缩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剥啤。三九已至锦溪,卻和暖如春不脯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背刻诊。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工防楷, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人则涯。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓复局,卻偏偏與公主長得像,于是被迫代替她去往敵國和親粟判。 傳聞我的和親對象是個殘疾皇子亿昏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 【題目描述】給你一個長度固定的整數(shù)數(shù)組 arr,請你將該數(shù)組中出現(xiàn)的每個零都復(fù)寫一遍档礁,并將其余的元素向右平移角钩。注意...
    1江春水閱讀 214評論 0 0
  • 第四天 數(shù)組【悟空教程】 第04天 Java基礎(chǔ) 第1章數(shù)組 1.1數(shù)組概念 軟件的基本功能是處理數(shù)據(jù),而在處理數(shù)...
    Java幫幫閱讀 1,598評論 0 9
  • 概要 64學(xué)時 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,180評論 0 3
  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,340評論 0 2
  • 春寒偏愛著延綿的雨季 暖風(fēng)依然熟睡在云朵里 你解開我精心挑選的粉色扎帶 我微笑端詳你 就像孩子端詳著最愛的草莓布丁...
    大星同學(xué)閱讀 221評論 0 1