原创 leetcode:Sqrt(x) 菜鳥解法

本題要求對一個非負整數x,求他的平方根 很容易想到構造形如(x/temp+temp)/2的形式,因爲若temp大於根號x,則x/temp就會小於根號x,那麼temp(next)=(x/temp+temp)/2 就會比原來更接近x/temp

原创 leetcode:Find Minimum in Rotated Sorted Array II 菜鳥解法

感覺第二問比第一問男多了 TT  主要是需要考慮重複元素導致的不知道在二分法哪邊的情況,比如1 0 1 1 1 1 和1 1 1 1 1 0 1 我也沒啥好方法,遇到這種就強制遍歷更新了,之後我會回來再對這道題進行修改的,答案只是滿足了能

原创 leetcode:Pow(x,n)菜鳥解法

數學推導 x的n次方,若x爲奇數,則爲x*x的(n-1)/2次方*  x的(n-1)/2次方,若x爲偶數,則爲x的(n/2)次方的平方,用這種方

原创 leetcode:Majority Elements 菜鳥解法

感覺題目有一定難度 剛開始抱着兩種思路: 先排序,然後順序查找一次就好                                      不排序,順序查找,遇到一對不相同的就去掉,想去掉主元素,一定需要一個非主元素,主元素很多,就

原创 leetcode:Maximum Subarray 菜鳥解法

剛開始的思路和上面一道Maximum subarray product一樣,用了各種複雜的表示,想的是這樣,一個數組,他的最大和就是一直累加,若遇到負數,應保存負數前的值的和爲臨時最大,然後記錄下這個負數,直到疊加的值超過這個負數,則應更

原创 leetcode:Sort Colors 菜鳥解法

這題不多說了 == 絕對的簡單題,先數然後再賦值 用while會簡單點,我用的for class Solution { public: void sortColors(int A[], int n) { int

原创 leetcode:Search Insert Position菜鳥解法

本來直接遍歷就過了,後來大神說要用二分法,嘗試寫了一下,不知道這算不算二分? class Solution { public: int searchInsert(int A[], int n, int target) {

原创 leetcode:Climbing Stairs菜鳥解法

通過這題終於接觸了動態規劃... 爬樓梯,一次只能一節或兩節,所以對於n而言,有能力達到n狀態的就是n-1狀態(再走一步)和n-2狀態(再走兩步)的和 代碼如下: class Solution { public: int cli

原创 leetcode: Maximum subarray product 菜鳥解法

生病了兩天,好不容易病好了,挑了道看上去比較簡單的題,沒想到這麼不好對付,用了足足三個小時。 第一次提交時候,什麼都沒想就用了二重循環,結果顯示TLE,仔細查過才知道是超時的意思...沒辦法開始各種改代碼... 我的想法是這樣的,考慮由

原创 leetcode:add binary 菜鳥解法

我確實比較水,所以費盡千辛玩苦終於挑了一個好想比較簡單的題,結果沒想到還是不行... 初始想法: 設兩個字符串分別爲at和b,然後把他們兩個轉成整形後相加(每一位有三種可能,0,1,2),然後根據所得結果決定是否要進位,結束後輸出字符串

原创 leetcode:Single NumberII 菜鳥解法

我也不知道算不算線性的方法,按每位循環,獲得所有數在該位的二進制值,然後進行mod 3操作,然後累加起來 class Solution { public: int singleNumber(int A[], int n) {

原创 leetcode:Divide Two Integers菜鳥解法

這題要考慮的東西好多...我也不知道我怎麼過的...提交失敗好多次 思路很簡單 我們隨便想兩個數,比如97和2,如何求97/2?可以將2不斷左移,直到大於97,再右移一位,得到第一位的最大倍數,在這題裏是32倍,然後 用97-2的32倍=

原创 leetcode:First Missing Positive 菜鳥解法

這題要求只能用常數個空間,不過int這個東西能表示的正整數本來也就是有限的,所以我們不妨設置一個數組index,數組的每個值等於該值index的整數出現的次數,找出第一個出現次數爲0的正整數就好,代碼如下: class Solution

原创 leetcode:Single Number 菜鳥解法

分析題目,發現在所有數字中,僅有一個只出現了一次,然後,我想到了xor的性質 二進制數與全零進行按位xor,解得的值是其本身,而成對數字xor的結果又恰恰是全零,且xor滿足交換律 綜上,本題得解。代碼如下: class Solution

原创 leetcode:Find Minimum in Rotated Sorted Array 菜鳥解法

原來是亂序的數組,如果是順序的很顯然用二分法可以解決,亂序我採用了類似的思想 比較中值和中值左邊那個數,如果左邊那個比中值大,顯然中值就是結果 如果中值左邊的數比數組最右小,說明最小值在中值左邊,如果大,說明最小值在中值右邊 綜上,加上一