原创 C語言命令行參數解析函數

getopt()函數 頭文件 #include <unistd.h> 函數參數 int getopt(int argc, char* const argv[], const char* optstring); extern cha

原创 leetcode

Question34–Search for a Range 給定一個按升序排列的可以有重複元素的數組,同時給出一個目標元素target,返回target在數組中的開始下標和結束下標。若不在數組中,返回[-1,-1]. eg:[1

原创 leetcode

Question35– Search Insert Position 給定一個按升序排列的int數組,不含重複元素。同時給定一個target元素,若數組中有target,返回相應的下標;若沒有,則返回target應插進數組的正確

原创 leetcode

Question33–Search in Rotated Sorted Array 給你一個按升序排列的“循環數組”(元素各不相同),即最小元素可以在數組的任意位置。eg:[1,2,3,4,5];[4,5,1,2,3]; [];

原创 leetcode

Question 47–Permutations II 給定一個含有重複元素的整數集合,給出它的所有排列。 code 迭代: vector<vector<int>> permute(vector<int>& nums) {

原创 leetcode

Question21–Merge Two Sorted Lists 給定兩個排好序的單鏈表,將它們歸併在一起,並返回新鏈表的頭指針。 算法 每次將兩個鏈表的頭比大小,小的頭結點加入新的鏈表中,並將頭小的那個鏈表的頭指針後移。直

原创 leetcode

Question 46– Permutations 給定幾個沒有重複的整數,求出它們的所有排列。 算法 前n個元素的全排列等於在前n-1的的每一個排列中加入第n個元素後形成的所有排列。 code vector<vector<i

原创 leetcode

Question20–Valid Parentheses 給定一個僅包含’(‘, ‘)’, ‘{‘, ‘}’, ‘[‘, ‘]’字符的字符串,判斷該字符串是否合理。括號必須按正確的順序關閉。 算法 建一個棧,遍歷一遍字符串,依

原创 leetcode

Question28–Implement strStr() 給出一個字符串在另一個字符串中第一次出現的索引,若沒出現返回-1 算法 遍歷比較,注意幾種特殊情況就好 Code int strStr(string haystack

原创 leetcode

Question31–Next Permutation 對於一個給定的整數序列,輸出它的下一個字典順序的序列。若給出的序列已經最大,則輸出最小序列。 eg:5,4,3 –>3,4,5      1,2,3 –>1,3

原创 leetcode

Question19–Remove Nth Node From End of List 給定一個單鏈表(不告訴長度),刪除倒數第n(n爲有效,不用判斷)個節點,然後返回鏈表頭指針。要求最好只遍歷一次。 算法 遍歷一遍該鏈表,依

原创 leetcode

Question13–Roman to Integer 將1到3999範圍內的羅馬數字轉換爲int型數據 method1(stupid) 和上篇博客中的question12一樣,列出一個二元數組,然後一個一個去找。注意,從

原创 leetcode

Question22–Generate Parentheses 給你n對括號“()”,返回它們的所有有效組合。 算法 n對括號,即共有2n個括號字符。從第一位到第2n位,每次按照規則對已有字符串一位一位的構造。在構造過程中用一

原创 leetcode

Question26–Remove Duplicates from Sorted Array 給定一個排好序的數組,消除重複的數,除了給定的數組不能開額外的數組,空間複雜度必須是常數。 算法 因爲是排好序的,從頭遍歷一遍,將不

原创 leetcode

Question27–Remove Element 將一個給定數組中和給定目標數相同的數刪掉,要求在原數組上進行操作。 算法 和上篇博客中講的26題一樣的解法。 Code int removeElement(vector<in