問題要求我們對乙個有序的列表進行操作,獲得其中不重複的元素,完成並且不允許借助新的輔助空間description:
do not allocate extra space for another array, you must do this by modifying the input array in-place with o(1) extra memory.
具體的**如下:my thought:
我可以宣告兩個指向這個列表的指標,利用這兩個指針對同乙個陣列進行操作,如此,便可以使用o(1)的時間複雜度解決這個問題。對於具體的演算法而言,用i掃一遍這個列表,只需要判斷當前的元素是否和上乙個元素相同,如果相同,就讓p指向的下乙個元素覆蓋掉即可。
class
solution:
defremoveduplicates
(self, nums):
p = 0
length = len(nums)
if length == 0:
return
0if length == 1:
return
1for i in range(length):
if i == 0:
continue
if nums[i] != nums[i - 1]:
p += 1
nums[p] = nums[i]
return p + 1
第八周作業
1 理解窗體的檔案含義及組織結構 如 form1.cs form1.designer.cs form1.resx 控制項的屬性 方法和事件。2 完全用 的方式在form1.cs檔案中建立乙個文字標籤物件label1,用 設定label1的parent location name text autos...
第八周作業
1 顯示統計占用系統記憶體最多的程序,並排序 2 編寫指令碼,使用 for 和 while 分別實現 192.168.0.0 24 網段內,位址是否能夠 ping 通,若 ping 通則輸出 success 若 ping 不通則輸出 fail 3 每週的工作日 1 30,將 etc 備份至 back...
第八周作業
本週是團隊專案的最後一周,我們的團隊專案也完成了大部分的工作。下面是我們近兩周的工作內容,以及我在這個團隊專案中的總結與心得體會。我們小組所進行的專案是仿照手遊 球球大作戰 製作3d的pc版遊戲。到目前為止,我們已經完成了大部分文件與編碼工作,還差測試文件的成型 其它文件的細節修改與一些bug的修補...