<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小明思考

    Just a software engineer
    posts - 124, comments - 36, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    數據結構和算法

    posted @ 2013-05-22 22:25 小明 閱讀(6137) | 評論 (0)  編輯 |

    posted @ 2013-05-21 22:50 小明 閱讀(2118) | 評論 (0)  編輯 |

    posted @ 2013-05-20 21:09 小明 閱讀(2583) | 評論 (0)  編輯 |

    posted @ 2013-05-10 20:47 小明 閱讀(3234) | 評論 (4)  編輯 |

         摘要: 給定一個由n個整數組成的數組S,是否存在S中的三個數a,b,c使得 a+b+c=0?找出所有的不重復的和為0的三元組。

    注意:
    1.三元組的整數按照升序排列 a2.給出的結果中不能含有相同的三元組  閱讀全文

    posted @ 2013-05-01 23:13 小明 閱讀(1923) | 評論 (0)  編輯 |

         摘要: 給定兩個字符串S和T,計算S的子序列為T的個數。

    這里的字符串的子序列指的是刪除字符串的幾個字符(也可以不刪)而得到的新的字符串,但是不能改變字符的相對位置。

    比如“ACE”是“ABCDE”的子序列,但是“AEC”就不是。

    如果S=“rabbbit” T=“rabit”,有3種不同的子序列為T的構成方法,那么結果應該返回3。  閱讀全文

    posted @ 2013-04-26 23:33 小明 閱讀(2034) | 評論 (1)  編輯 |

         摘要: 給定一顆二叉樹:
    class TreeLinkNode {
    TreeLinkNode left;
    TreeLinkNode right;
    TreeLinkNode next;
    }
    要求把所有節點的next節點設置成它右邊的節點,如果沒有右節點,設置成空。初始狀態,所有的next的指針均為null.

    要求:你只能使用常數的空間。

    比如:
    1
    / \
    2 3
    / \ \
    4 5 7
    應該輸出:

    1 -> NULL
    / \
    2 -> 3 -> NULL
    / \ \
    4-> 5 -> 7 -> NULL  閱讀全文

    posted @ 2013-04-26 11:23 小明 閱讀(2125) | 評論 (0)  編輯 |

         摘要: 假設你有一個數組包含了每天的股票價格,它的第i個元素就是第i天的股票價格。

    設計一個算法尋找最大的收益。你可以最多進行兩次交易。
    注意:你不能同時進行多次交易,也就是說你買股票之前,必須賣掉手中股票。  閱讀全文

    posted @ 2013-04-25 22:22 小明 閱讀(2069) | 評論 (0)  編輯 |

         摘要: 假設你有一個數組包含了每天的股票價格,它的第i個元素就是第i天的股票價格。

    設計一個算法尋找最大的收益。你可以進行任意多次交易。但是,你不能同時進行多次交易,也就是說你買股票之前,必須賣掉手中股票。  閱讀全文

    posted @ 2013-04-19 21:50 小明 閱讀(1852) | 評論 (0)  編輯 |

         摘要: 假設你有一個數組包含了每天的股票價格,它的第i個元素就是第i天的股票價格。

    你只能進行一次交易(一次買進和一次賣出),設計一個算法求出最大的收益。  閱讀全文

    posted @ 2013-04-19 15:03 小明 閱讀(1582) | 評論 (0)  編輯 |

         摘要: 給定一個二叉樹,尋找最大的路徑和.
    路徑可以從任意節點開始到任意節點結束。(也可以是單個節點)

    比如:對于二叉樹
    1
    / \
    2 3
    和最大的路徑是2->1->3,結果為6
    /**
    * Definition for binary tree
    * public class TreeNode {
    * int val;
    * TreeNode left;
    * TreeNode right;
    * TreeNode(int x) { val = x; }
    * }
    */  閱讀全文

    posted @ 2013-04-18 21:31 小明 閱讀(4010) | 評論 (0)  編輯 |

         摘要: 給定兩個單詞(一個開始,一個結束)和一個字典,找出所有的最短的從開始單詞到結束單詞的變換序列的序列(可能不止一個),并滿足:

    1.每次只能變換一個字母
    2.所有的中間單詞必須存在于字典中

    比如:
    輸入:
    start = "hit"
    end = "cog"
    dict = ["hot","dot","dog","lot","log"]

    那么最短的變化序列有兩個
    ["hit","hot","dot","dog","cog"],
    ["hit","hot","lot","log","cog"]。
    注意:
    1. 所有單詞的長度都是相同的
    2. 所有單詞都只含有小寫的字母。  閱讀全文

    posted @ 2013-04-18 17:32 小明 閱讀(1367) | 評論 (0)  編輯 |

         摘要: 給定兩個排序好的數組A和B,把B合并到A并保持排序。

    public class Solution {
    public void merge(int A[], int m, int B[], int n) {
    //write your code here }
    }

    注意:
    假定A有足夠的額外的容量儲存B的內容,m和n分別為A和B的初始化元素的個數。要求算法復雜度在O(m+n)。  閱讀全文

    posted @ 2013-04-18 13:44 小明 閱讀(1284) | 評論 (0)  編輯 |

         摘要: 給定兩個單詞(一個開始,一個結束)和一個字典,找出最短的從開始單詞到結束單詞的變換序列的長度,并滿足:

    1.每次只能變換一個字母
    2.所有的中間單詞必須存在于字典中

    比如:
    輸入:
    start = "hit"
    end = "cog"
    dict = ["hot","dot","dog","lot","log"]

    那么最短的變化序列是"hit" -> "hot" -> "dot" -> "dog" -> "cog",所以返回長度是5。
    注意:
    1. 如果找不到這樣的序列,返回0
    2. 所有單詞的長度都是相同的
    3. 所有單詞都只含有小寫的字母。  閱讀全文

    posted @ 2013-04-18 12:46 小明 閱讀(1519) | 評論 (0)  編輯 |

         摘要: 給定一個二叉樹,每個節點的值是一個數字(0-9),每個從根節點到葉節點均能組成一個數字。
    比如如果從根節點到葉節點的路徑是1-2-3,那么這代表了123這個數字。
    求出所有這樣從根節點到葉節點的數字之和。

    比如,對于二叉樹
    1
    / \
    2 3

    一共有兩條路徑1->2和1->3,那么求和的結果就是12+13=25
    /**
    * Definition for binary tree
    * public class TreeNode {
    * int val;
    * TreeNode left;
    * TreeNode right;
    * TreeNode(int x) { val = x; }
    * }
    */
    public class Solution {
    public int sumNumbers(TreeNode root) {
    //write c  閱讀全文

    posted @ 2013-04-16 11:37 小明 閱讀(2542) | 評論 (1)  編輯 |

         摘要: 給定一個2D的棋盤,含有‘X'和’O',找到所有被‘X'包圍的’O',然后把該區域的‘O’都變成'X'。

    例子-輸入:
    X X X X
    X O O X
    X X O X
    X O X X

    應該輸出:

    X X X X
    X X X X
    X X X X
    X O X X

    public void solve(char[][] board) {
    }  閱讀全文

    posted @ 2013-04-15 18:17 小明 閱讀(1561) | 評論 (2)  編輯 |

         摘要: 給定一個字符串s,切割字符串使得每個子串都是回文的。(比如aba,對稱)
    要求返回所有可能的分割。

    比如,對于字符串s="aab",
    返回:

    [
    ["aa","b"],
    ["a","a","b"]
    ]
      閱讀全文

    posted @ 2013-04-15 13:52 小明 閱讀(1505) | 評論 (0)  編輯 |

    +1

         摘要: 給定一個有由數字構成的數組表示的數,求該數加1的結果。
    public class Solution {
    public int[] plusOne(int[] digits) {
    }
    }  閱讀全文

    posted @ 2013-04-15 11:22 小明 閱讀(1377) | 評論 (3)  編輯 |

         摘要: 實現 int sqrt(int x);
    計算和返回x的平方根。  閱讀全文

    posted @ 2013-04-15 10:19 小明 閱讀(1468) | 評論 (0)  編輯 |

         摘要: 給定一個未排序的整數數組,求最長的連續序列的長度。要求算法的時間復雜度在O(n)
    比如對于數組[100, 4, 200, 1, 3, 2],其中最長序列為[1,2,3,4],所以應該返回4

    public class Solution {
    public int longestConsecutive(int[] num) {
    //write your code here
    }
    }  閱讀全文

    posted @ 2013-04-12 15:58 小明 閱讀(2415) | 評論 (7)  編輯 |

         摘要: 給定一個字符串s,分割s使得每個子串都是回文的(即倒過來和原字符串是一樣的,如aba)
    求最少的分割次數。  閱讀全文

    posted @ 2013-04-11 11:24 小明 閱讀(4144) | 評論 (3)  編輯 |

    posted @ 2013-04-02 14:04 小明 閱讀(403) | 評論 (0)  編輯 |

         摘要: TopCoder Prerequisites解法  閱讀全文

    posted @ 2011-10-25 13:28 小明 閱讀(1825) | 評論 (3)  編輯 |

    主站蜘蛛池模板: 99亚洲男女激情在线观看| 亚洲国产精品免费观看| 麻豆69堂免费视频| 麻豆成人精品国产免费| 一区二区亚洲精品精华液| 免费福利视频导航| 亚洲国产精品美女| 五月婷婷在线免费观看| 久久精品国产亚洲av麻豆小说| 免费无码一区二区三区| 亚洲av无码潮喷在线观看| 日韩精品在线免费观看| 久久亚洲伊人中字综合精品| 久久精品免费观看国产| 亚洲高清资源在线观看| 亚洲一级免费毛片| 亚洲午夜无码久久久久小说| 成人免费无码大片A毛片抽搐| 亚洲综合小说另类图片动图 | 亚洲老熟女五十路老熟女bbw| 在线观看无码的免费网站| 亚洲欧美日韩一区二区三区在线| 国产精品免费看久久久无码| 日韩精品视频在线观看免费| 激情97综合亚洲色婷婷五| 久久精品成人免费观看| 亚洲高清日韩精品第一区| 免费无码A片一区二三区 | 亚洲乱色熟女一区二区三区丝袜| 久久国产精品2020免费m3u8| 亚洲国产美女精品久久| 四虎影院免费视频| 国产免费一级高清淫曰本片| 亚洲伊人久久大香线蕉苏妲己| 91免费国产在线观看| 美女被羞羞网站免费下载| 亚洲av无码成h人动漫无遮挡| 成在人线AV无码免费| 久久国产精品免费一区| 亚洲一级毛片免费在线观看| 亚洲国产精品一区二区第四页|