原创 LeetCode-088. Merge Sorted Array

1. 題目 Merge Sorted Array 合併兩個有序數組 假設nums1有足夠的空間(>=m+n)來保存nums2中的附加元素 2. 分析 採用歸併排序的思想 1:兩數組都有序,所以按順序比較大小即可。 建

原创 LeetCode-023. Merge k Sorted Lists

1. 題目 Merge k Sorted Lists 合併k條升序鏈表 2. 分析 將 Merge Two Sorted Lists 從2個擴展到k個 1:最直接的思路就是兩兩合併,1,2先合併,合併好了再跟3/…/k合併

原创 LeetCode-074. Search a 2D Matrix

1. 題目 Search a 2D Matrix 編寫一個搜索m*n矩陣中的值的有效算法,該矩陣具有以下性質: 每行中的整數從左到右排序。 每行的第一個整數大於前一行的最後一個整數。 2. 分析 1:給定矩陣是有序

原创 變形的二分查找

二分查找的原始寫法如這篇文章所示 如果條件變化一下,比如數組中的元素可能重複,要求返回最小(或最大)的下標。 或者找出數組中第一個大於value(也就是最小的大於value)的元素下標等等, 代碼實現會有所不同。 一共分爲

原创 LeetCode-082. Remove Duplicates from Sorted List II

1. 題目 Remove Duplicates from Sorted List II 對有序鏈表去重,刪掉所有的重複元素 2. 分析 若鏈表長度小於2,直接結束 否則,遍歷鏈表,當相鄰元素相等時,刪除所有重複元素 3. 代

原创 LeetCode-069. Sqrt(x)

1. 題目 Sqrt(x) 計算並返回x的平方根,其中x保證爲非負整數。 由於返回類型是整數,所以小數位數被截斷,只返回結果的整數部分。 2. 分析 1:二分查找 取定左值和右值,每次砍掉不符合條件的一半,直到左值和右

原创 inet_ntoa--不可重入函數

在使用socket編程時,我們經常要使用到IP地址轉換函數。 比如 char *inet_ntoa(struct in_addr in); 該函數將用網絡字節序整數表示的IPv4地址轉化爲用點分十進制字符串表示的IPv4地址。

原创 網絡字節序跟主機字節序有什麼區別

網絡字節序跟主機字節序有什麼區別,這是我16年9月份校招面試騰訊被問到的一個問題,也是Linux服務器開發崗常考的面試題。 字節序分爲大端字節序和小端字節序 大端字節序是指一個整數的高位字節(32-31bit)存儲在內存的低地址

原创 LeetCode-083. Remove Duplicates from Sorted List

1. 題目 Remove Duplicates from Sorted List 對有序鏈表去重,使每個元素只出現1次 2. 分析 若鏈表長度小於2,直接結束 否則,遍歷鏈表,當相鄰元素相等時,刪除後出現的重複元素 3. 代

原创 LeetCode-026. Remove Duplicates from Sorted Array

1. 題目 Remove Duplicates from Sorted Array 去除數組中的重複元素,返回新數組的長度 數組中的每個元素只允許出現1次 如[1,1,2,2,2,3],生成新數組爲[1,2,3]

原创 LeetCode-080. Remove Duplicates from Sorted Array II

1. 題目 Remove Duplicates from Sorted Array II 在Remove Duplicates from Sorted Array 的基礎上,允許每個元素重複出現2次 如[1,1,2,2,2

原创 LeetCode-148. Sort List

1. 題目 Sort List Sort a linked list in O(n log n) time using constant space complexity. 2. 分析 題目限定時間複雜度必須爲O(nlogn)

原创 LeetCode-021. Merge Two Sorted Lists

1. 題目 Merge Two Sorted Lists 不開闢額外空間,合併兩條升序鏈表 2. 分析 採用歸併排序的思想 與 Merge Sorted Array 的不同只是數據結構由數組換成了鏈表,代碼反而更簡潔。 1:

原创 LeetCode-034. Search for a Range

1. 題目 Search for a Range 給定升序數組nums,找到給定target的起始和結束位置 算法的運行時複雜度必須是O(log n) 若找不到target,返回[-1, -1] 2. 分析 屬於變

原创 LeetCode-033. Search in Rotated Sorted Array

1. 題目 Search in Rotated Sorted Array 在旋轉有序數組中查找特定值 數組中沒有重複的數,查找特定值,若存在,返回其下標,若不存在,返回-1 如[10,12,1,2,6,8] 12