給定一個排序數組,你須要在原地刪除重複出現的元素,使得每一個元素只出現一次,返回移除後數組的新長度。不要使用額外的數組空間,你必須在原地修改輸入數組並在使用 O(1) 額外空間的條件下完成。html
Remove Duplicates from Sorted Arraypython
# 解1,時間複雜度O(n²) class Solution: def removeDuplicates(self, nums: list) -> int: for i in range(len(nums)-1,0,-1): if nums[i] == nums[i-1]: nums.pop(i) return len(nums) # 解2,時間複雜度O(n) class Solution: def removeDuplicates(self, nums: list) -> int: i = 0 for j in range(0,len(nums)): if nums[i] != nums[j]: nums[i+1] = nums[j] i += 1 return i+1 if nums else 0
給定一個數組,將數組中的元素向右移動 k 個位置,其中 k 是非負數。
輸入: [1,2,3,4,5,6,7] 和 k = 3
輸出: [5,6,7,1,2,3,4]
解釋:向右旋轉 1 步: [7,1,2,3,4,5,6]
向右旋轉 2 步: [6,7,1,2,3,4,5]
向右旋轉 3 步: [5,6,7,1,2,3,4]git
Rotate Arraygithub
# 解1,數組拼接,空間複雜度O(n) class Solution: def rotate(self, nums: list, k: int) -> None: k %= len(nums) nums[:] = nums[-k:] + nums[:-k] return nums # 解2,3次翻轉,空間複雜度O(1) class Solution: def rotate(self, nums: list, k: int) -> None: k, start, end = k % len(nums), 0, len(nums) - 1 self._reverse(nums, start, end - k) self._reverse(nums, end-k+1, end) self._reverse(nums, start, end) def _reverse(self, nums, start, end): while start < end: nums[start], nums[end] = nums[end], nums[start] start += 1 end -= 1
Web Automation: Selenium WebDriver and Python — Getting Started — Part 1web
簡單的介紹了Web自動化,入門的文章chrome
打開cmder.exe時報錯「failed to copy vendor/conemu.xml.default file to vendor/conemu-maximus5/conemu.xml access denied」
解決方法:原目錄是「c:/program files/",建立一個新目錄並將cmder文件夾複製進去
參考連接數組