原创 278. First Bad Version
題目 278. First Bad Version 解題思路 很明顯就是二分搜索,但是被溢出坑了很久一直超時qaq 超時的解決方法: 類型轉換:long long int mid = ((long long int)left
原创 268. Missing Number
題目 268. Missing Number 解題思路 與之前那道題有些相似,也是遍歷並讓數字歸位,因爲只有一位數字丟失,假設數組長度爲n,數組中的數字在[0,n]之間, 如果丟失的數字x範圍是0≤x≤n-1,則數組最大的數字n必
原创 219. Contains Duplicate II
題目 219. Contains Duplicate II 解題思路 這道題如果用嵌套循環會超時,所以我用了map。 思路簡單,有2個點需要注意: 當nums爲空或k爲0的時候一定是false k有可能大於nums數組長度 具
原创 面試整理之計網(整理ing)
https://www.zhihu.com/question/32255109 https://coolshell.cn/articles/11609.html https://hit-alibaba.github.io/intervie
原创 筆記整理之數據結構(樹)
二叉排序樹 性質:若左子樹不爲空,左子樹上所有節點的值小於它根節點的值;若右子樹不爲空,右子樹上所有節點的值小於它根節點的值。 查找:根據二叉樹性質,遞歸,若找得到返回該節點,若找不到,則返回遍歷的最後一個節點。 插入:根據查找返回的結
原创 筆記整理之數據結構(幾種常見排序方法 希爾 歸併 堆排序 快排)
前言 對幾種排序方法進行簡單描述和放上代碼 希爾排序 把一個待排序的數組劃分爲幾個部分,每次拿第i+1部分第j位的數字和第i部分第j位的數字進行比較,如果前者比較小就互換位置,否則不用。 // 希爾排序 void shellSort(in
原创 62. Unique Paths
標題 62. Unique Paths 解題思路 題目問從左上角走到右下角,只有右或下兩種走法的情況下,有多少種路徑可走。 很明顯是動態規劃的題目,從左上角走到當前的格子的路徑數量等於從左上角走到當前左邊格子的路徑數量加上從左上角走到當前
原创 連續最大子字符串 Longest Common Substring
題目 LintCode 79. Longest Common Substring 子字符串和子序列相比,需要連續,因此和上一道題會有一些不同,需要取每個連續子串長度的最大值。 代碼 class Solution { public:
原创 240. Search a 2D Matrix II
題目 240. Search a 2D Matrix II 解題思路 這道題與74. Search a 2D Matrix的不同在於這道題目的矩陣是左上角的數字一定比右下角的大。 這道題我是看discussion的題解做的,先把初始位置定
原创 筆記整理之數據結構(查找 二分查找 散列表查找)
二分查找 int BinarySearch(int *arr, int len, int key) { int low = 0, high = len - 1, mid; while (low < high) {
原创 字符移位【大小寫字母相對位置不變】
題目 將字符串的所有大寫字母排在小寫字母的後面,相對位置保持不變。 即:asfFdfADaFsdC ====> asfdfasdFADFC 上週的網易筆試題,我想了很久都沒有頭緒,今晚想了一下發現知道怎麼做了qaq 又發現也是騰訊17年秋
原创 逆元求組合數
題目 給一個歌單固定長度爲K 有兩種歌:X首長度爲A,Y首長度爲B的歌,A!=B 問有幾種組合搭配 如: 輸入 K = 5,A = 2 X = 3 B = 3 Y = 3 輸出 9 由於結果比較大,因此輸出結果取1
原创 2. Add Two Numbers
題目 2. Add Two Numbers 解題思路 就是兩個鏈表相加的故事。和discuss高贊解法不同,我的解法是在原來的某條鏈表上直接相加,代碼可能稍微複雜一點= = 因爲可能會有進位的情況出現,需要考慮在最後會增加一個節點。 具體
原创 筆記整理之數據結構(圖的深搜廣搜)
廣度優先搜索(隊列) 一個頂點出隊列,它的子節點進隊列 typedef struct { char vexs[MAXSIZE]; int arc[MAXSIZE][MAXSIZE]; int numV, numE;
原创 63. Unique Paths II
題目 63. Unique Paths II 解題思路 這道題比Unique Paths的操作多了一個要判斷是否有障礙,即格子是否爲1 如果是最上邊或最左邊格子,那麼第一個數字爲1的格子之前的所有格子路徑數量都爲1,其他的包括第一個數字