力扣刷題日記10 29

2021-10-10 02:11:18 字數 1156 閱讀 9820

「我變禿了 也變強了」

1.刪除排序陣列中的重複項

給定乙個排序陣列,你需要在 原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。

不要使用額外的陣列空間,你必須在 原地 修改輸入陣列 並在使用 o(1) 額外空間的條件下完成。

示例 1:

給定陣列 nums = [1,1,2],

函式應該返回新的長度 2, 並且原陣列 nums 的前兩個元素被修改為 1, 2。

你不需要考慮陣列中超出新長度後面的元素。

示例 2:

給定 nums = [0,0,1,1,1,2,2,3,3,4],

函式應該返回新的長度 5, 並且原陣列 nums 的前五個元素被修改為 0, 1, 2, 3, 4。

你不需要考慮陣列中超出新長度後面的元素。

if

(nums[i]

==nums[i+1]

)else

nums[i+

1-j]

=nums[i+1]

;

分類思想:要同時考慮相同和不同的情況
keywords:思路清晰。巧妙運用變數(j)

挺基礎的演算法,背下來吧。

由於每次迴圈後i都會+1,每次都會覆蓋相同個數(需要刪除/需要填補)的元素

2.實現 strstr() 函式。

給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 (從0開始)。如果不存在,則返回 -1。

示例 1:

輸入: haystack = 「hello」, needle = 「ll」

輸出: 2

示例 2:

輸入: haystack = 「aaaaa」, needle = 「bba」

輸出: -1

keywords:

·注意遍歷字串時,每一次都要重新定義j,以確保每次都是重新搜尋

for

(i=0

;i)

·獲取字串長度的函式:strlen()

·字串的第幾個元素表示方式與陣列相同

力扣刷題日記(3)

最近有點懶,哈哈,刷題挺慢的,今天用python3 練練手了,題目如下 設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於 fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為 環形緩衝器 迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,...

力扣刷題日記(5)

給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存乙個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。示例 2 輸入 4,3,2,1 輸出 4,3,...

力扣LeetCode刷題日記(一)

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...