remove element
問題簡介:給定陣列nums和值val,在適當位置刪除該值的所有例項並返回新長度.
不要為另乙個陣列分配額外的空間,必須通過使用o(1)額外記憶體修改輸入陣列來實現此目的.
舉例:1.給定陣列 = [3,2,2,3], val = 3,
返回值為2,代表有兩個不等於val的值,此時陣列前兩個值應為[2,2]
2:給定陣列 = [0,1,2,2,3,0,4,2], val = 2,
返回值為5,代表有五個不等於val的值,此時陣列前兩個值應為[0,1,3,0,4]
解法一:設定兩個變數,並遍歷一遍陣列,i表示結果索引即不等於val的個數,j表示遍歷的當前索引,當nums[i]!=nums[j]時,i++並賦值nums[j]
複雜度分析
時間複雜度 : o(n)遍歷一遍陣列
空間複雜度:o(1)定義空間為有限個
解法二:
遍歷陣列,當前索引值等於val時,將當前索引值與n-1交換,n表示陣列長度,每當符合要求時n–1
複雜度分析
時間複雜度 : o(n)遍歷一遍陣列
空間複雜度:o(1)定義空間為有限個
小白刷題之路,請多指教— — 要麼大器晚成,要麼石沉大海
第二十七周總結
最近一周一直在小組複習,主要複習電路和高數,現在對擔心的還是電路,感覺複習的還不夠紮實。下周一就要考電路了,希望不會掛科。本週偶爾晚飯時間去打打籃球,剩餘時間基本上都在小組緊張的複習,下學期一定在日常學習中查漏補缺,不會在最後複習的時候才發現不會的地方有那麼多。參加了三下鄉的面試,感覺發揮得還可以,...
第二十七天
今天主要學習了linux的程序通訊 程序通訊可分為 管道通訊 訊號通訊 共享記憶體和訊息佇列 管道通訊 分無名管道和有名管道,無名管道一般用於父子程序之間 訊號通訊的產生方式 1.按鍵產生 2.硬體異常產生 除數為0,無效儲存訪問等 3.程序用kill函式給另乙個程序發訊號 4.使用者用kill命令...
2018 9 12第二十七次筆記
cisc和risc的區別 1.cisc是複雜指令集cpu,這裡所說的複雜和簡單是針對設計者而言的,這種體系的設計理念是用最少的指令來完成任務。複雜就體現在cisc的cpu本身設計複雜 工藝複雜,但好處是編譯器好設計,早期的intel一直採用cisc的體系。這種cisc有乙個最致命的缺點就是功耗大!2...