Lintcode刷題筆記 day1
給出兩個整數 a 和 b , 求他們的和。
##Lintcode刷題筆記 day1
描述
```class Solution { public: /** * @param a: An integer * @param b: An integer * @return: The sum of a and b */ int aplusb(int a, int b) { if (b==0) return a ; else{ return aplusb(a^b,(a&b)<<1); } } };
1.按位異或得出本位和,按位與得出進位位,左移一位即進位
2.迭代,不停重複,直到進位位為0
相關推薦
Lintcode刷題筆記 day1
給出兩個整數 a 和 b , 求他們的和。 ##Lintcode刷題筆記 day1 描述 ```class Solution { public: /** * @param a: An integer * @param b: An integer
LintCode刷題筆記(九章ladder PartOne)--BugFree
-c bin urn return sea get light integer ram 九章ladder的前半部分刷題筆記,在這次二刷的時候補上~ @ 2017.05.21 141 - sqrtx 二分答案 --- binarySearch二分法 --- cla
lintcode刷題筆記day4
描述 給定一個字串和一個偏移量,根據偏移量旋轉字串(從左向右旋轉) 您在真實的面試中是否遇到過這個題? 是 題目糾錯 樣例 對於字串 “abcdefg”. offset=0 => “abcdefg” offset=1 => “gabcdef” of
LintCode刷題小記491
pre ole ber nbsp return ger lintcode equal 函數 題目: 判斷一個正整數是不是回文數。 回文數的定義是,將這個數反轉之後,得到的數仍然是同一個數。 樣例: 11, 121, 1, 12321 這些是回文數。 23,
刷題筆記 - 0422
有序 n) ng- 所有 ron 遍歷 tab .com directed 1、clone graph 用map結構存儲原值和拷貝值,一一對應。 map紅黑樹實現,O(logn) 內部有序;每個節點要保存父節點、子節點及紅黑屬性,占用空間大。 unordered_map
leetcode刷題筆記231 2的冪
show 判斷 clas 進制 OS 分析 分享 bsp gif 題目描述: 給定一個整數,寫一個函數來判斷它是否是2的冪。 題目分析: 判斷一個整數是不是2的冪,可根據二進制來分析。2的冪如2,4,8,等有一個特點: 二進制數首位為1,其他位為0,如2為10
leetcode刷題筆記342 4的冪
close body order 分析 pow 位操作 pre none click 題目描述: 給定一個整數 (32位有符整數型),請寫出一個函數來檢驗它是否是4的冪。 示例:當 num = 16 時 ,返回 true 。 當 num = 5時,返回 false。
leetcode刷題筆記191 位1的個數
none c++ open 二進制中1的個數 sed 二進制 aik HR while 題目描述: 編寫一個函數,輸入是一個無符號整數,返回其二進制表達式中數字位數為 ‘1’ 的個數(也被稱為漢明重量)。 示例: 輸入: 11 輸出: 3
python刷題筆記
c++和python處理讀入資料: c++: #include <vector> #include <iostream> #include <algorithm> #include <string> using namespace std;
刷題筆記-牛客網&leetcode
c++和python處理讀入資料: c++: #include <vector> #include <iostream> #include <algorithm> #include <string> using namespace std;
刷題筆記4——根據前序遍歷和中序遍歷重建二叉樹
題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 分析 在前序遍歷中,第一個數字總
刷題筆記3——按輸入連結串列值從尾到頭順序返回一個
題目描述 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 1、方法1 使用push_back方法,然後再反轉,可以利用 reverse(a.begin(),a.end()); //反轉 該方法就比較麻煩 2、方法2 使用insert方法,該方法
刷題筆記2——將字串中的空格替換為指定的字串
題目描述 請實現一個函式,將一個字串中的每個空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。 1、方法1 通過一個string物件來將元素不斷加入其中,加完以後找出空格,刪除即可 內容介紹1 strin
刷題筆記1——有規律的二維陣列找target
題目描述 在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 1、常規思路 當然是萬能的兩重for迴圈了,判斷它是不是等於要查詢的目標就可
刷題筆記5——用兩個棧來實現一個佇列
題目描述 用兩個棧來實現一個佇列,完成佇列的Push和Pop操作。 佇列中的元素為int型別。 解析 棧是後進先出,佇列是先進先出,由於題目給定了兩個棧,所以思路大致是這樣 ① 在入隊push時,直接將元素放到其中一個棧A中 ② 在出隊pop時,將棧A中的元素逐個彈出並放
刷題筆記9——求輸入整數對應二進位制中1的個數
題目描述 輸入一個整數,輸出該數二進位制表示中1的個數。其中負數用補碼錶示。 程式碼 將1每次左移,和輸入數字進行&運算,結果不為0,則cnt++ class Solution { public: int NumberOf1(int n) {
刷題筆記8——青蛙跳臺階問題
題目描述1——普通跳臺階 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。 分析 當有0級臺階的時候,有0種跳法 當有1級臺階的時候,有1種跳法 當有2級臺階的時候,有2種跳法 當有3級臺階的時候,有3種跳法
刷題筆記7——輸出斐波那契數列的第n項
題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 1、遞迴 class Solution { public: int Fibonacci(int n) { int num[
刷題筆記6——輸出旋轉陣列的最小元素
題目描述 把一個數組最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。 輸入一個非減排序的陣列的一個旋轉,輸出旋轉陣列的最小元素。 例如陣列{3,4,5,1,2}為{1,2,3,4,5}的一個旋轉,該陣列的最小值為1。 NOTE:給出的所有元素都大於0,若陣列大小為0,請返回0。
刷題筆記——連結串列
leetcode876 方法1:構建fast和slow兩個連結串列指標,slow一次走一步,fast一次走兩步,程式碼: def middleNode(self, head): slow = fast = head while fast and fast.