二、026 刪除排序陣列中的重複項
三、033 搜尋旋轉排序陣列
總結今天是寒假leetcode刷題打卡的第五天,加油加油!也希望我的博文能夠幫助到大家。
題號:23
難度:困難
023 合併k個公升序鍊錶
合併 k 個排序鍊錶,返回合併後的排序鍊錶。請分析和描述演算法的複雜度。
示例:
輸入: [ 1->4->5,採用兩兩合併的思想,用到了在昨天的 leetcode寒假刷題day04 中的021題——兩個有序鍊錶合併為乙個有序鍊錶,然後依次進行兩兩合併。1->3->4,
2->6 ]
輸出: 1->1->2->3->4->4->5->6
class
solution
return ans;
}public listnode mergetwolists
(listnode l1, listnode l2)
else
}while
(head2.next!=null)
l1=l1.next;
return l1;
}}
題號:26
難度:簡單
026 刪除排序陣列中的重複項
給定乙個 排序陣列,你需要在 原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。
不要使用額外的陣列空間,你必須在 原地修改輸入陣列 並在使用 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。
你不需要考慮陣列中超出新長度後面的元素。
說起這道題,其實不是第一次見了。我研究生同學前兩天面試位元組,然後就考了這道題。因此做的時候也比較有思路。
具體的思路就是雙指標(快慢指標),j慢i快,開始時j=0,i=1。當nums[j] == nums[i]時,for迴圈中的i++就可以跳過重複項,不相等時,讓nums[++j] = nums[i],然後讓i++,把值複製過來繼續執行到末尾即可,時間複雜度為 o(n)。
class
solution
else
}return nums.length-count;
}}
題號:33
難度:中等
033 搜尋旋轉排序陣列
假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。
( 例如,陣列 [0,1,2,4,5,6,7] 可能變為 [4,5,6,7,0,1,2] )。
搜尋乙個給定的目標值,如果陣列中存在這個目標值,則返回它的索引,否則返回 -1 。
你可以假設陣列中不存在重複的元素。
你的演算法時間複雜度必須是 o(log n) 級別。
示例 1:
輸入: nums = [4,5,6,7,0,1,2], target = 0
輸出: 4
示例 2:
輸入: nums = [4,5,6,7,0,1,2], target = 3
輸出: -1
示例 3:
輸入: nums = [5,1,3], target = 5
輸出: 0
示例 4:
輸入: nums = [4,5,6,7,8,1,2,3], target = 8
輸出: 0
示例 5:
輸入: nums = [3,1], target = 1
輸出: 1
看到這個時間複雜度,自然是想到用二分查詢。但是整個陣列不是全域性有序的,只是部分有序。這時,我們想到二分查詢時,兩邊必然至少有乙個部分有序,我們只需考慮無序和有序這兩種情況分別處理。
class
solution
else
}return-1
;}}
LeetCode刷題日記(Day16)
class solution class minstack void push int x void pop int top int getmin private stackdatastack stackminstack 分別求出heada和headb的長度len1和len2,以及len1和len2...
leetcode刷題之旅(day1)
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...
Leetcode刷題之旅(Day2)
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...