今天被p老師看見刷b站了,下午想到了乙個還不錯的idea, 做做調研看看會不會被reject掉,今天真的好懶惰, 今天可能不做太多太難的題了,明天還要起大早上英語課,我真的是好煩喲,我真的不想做題啊啊啊啊
這道題沒啥可說的,各種方法都能解決,但是我彷彿記得我多年前面測試的時候被問過一次,反轉單鏈表,反正就遍歷一遍,把指標指向他前乙個,思路倒還可以,但是記得有乙個坑,就是當鍊表為null的情況要考慮呀!
public class solution
return pre;
}}
題目描述:把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個非遞減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。
note:給出的所有元素都大於0,若陣列大小為0,請返回0。
這道題暴解可以解但是沒利用到題目所給的旋轉特性,暴解一定拿不到offer, 所以感覺考察的是也並不是網上說的二分查詢,應該是逆序對,一旦出現了逆序對,那麼說明就找到旋轉點,那後面那個必為最小值,是乙個思維題的感覺,但是用二分查詢的時間複雜度更低,感覺這一題並不是很好。
逆序對解法:
public
class
solution
}return array[0]
;}}
變向二分查詢解法:
先定義三個index, 分別是low, mid 和 high
low=0, high=length-1, mid=(low+high)/2
分下面幾種情況討論:
陣列本身就是有序的,[1,2,3,4,5]不需要旋轉,這個時候我們只需要返回0,如果是這種情況,顯然特徵就是array[low]陣列遭到了旋轉,就是[4,5,1,2,3]的情況,如果array[mid]>array[low], 那說明還在翻轉序列中,顯然前面的都不會有最小值,跳過前面所有的段,所以low=mid+1
那如果是,array[mid]但是有一種情況,就是low和mid相等的情況,[1,0,1,1,1]相等的話,如果中間夾了個0就會被錯過,所以相等的時候, low++就好
public
class
solution
return array[low];}
}
集訓第三天(2017 8 2) 繼續刷搜尋題
今天還是刷搜尋題,做dfs的題還是漏洞百出,除了練習關於dfs的題之外,還複習了廣度優先搜尋bfs,其實廣度優先搜尋的核心思想是 從初始節點開始,應用算符生成第一層節點,檢查目標節點是否在這些後繼結點中,若沒有,再用產生式規則將所有第一層節點逐一擴充套件,得到第二層節點,並逐一檢查第二層節點中是否包...
2018 2 8 面試題刷題第三天
問1.知道的網頁製作會用到的格式有哪些?答 png 8,png 24,jpeg,gif,svg。但是上面的那些都不是面試官想要的最後答案。面試官希望聽到是webp,apng。是否有關注新技術,新鮮事物 科普一下webp webp格式,谷歌 google 開發的一種旨在加快載入速度的格式。壓縮體積大約...
leetcode刷題第三天《無重複字元的最長子串》
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3解釋 因為無重複字元的最長子串是 abc 所以其長度為 3 示例 2 輸入 bbbbb 輸出 1解釋 因為無重複字元的最長子串是 b 所以其長度為 1 示例 3 輸入 pwwkew 輸出 3解釋 ...