小明思考

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

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

          比如:對于二叉樹
          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 小明 閱讀(4014) | 評論 (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 小明 閱讀(1372) | 評論 (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 小明 閱讀(1289) | 評論 (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 小明 閱讀(1523) | 評論 (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 小明 閱讀(2547) | 評論 (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 小明 閱讀(1564) | 評論 (2)編輯 收藏

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

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

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

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

          +1

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

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

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

          posted @ 2013-04-15 10:19 小明 閱讀(1471) | 評論 (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 小明 閱讀(2420) | 評論 (7)編輯 收藏

          僅列出標題
          共5頁: 上一頁 1 2 3 4 5 下一頁 
          主站蜘蛛池模板: 松阳县| 循化| 瓮安县| 牟定县| 开平市| 广饶县| 墨竹工卡县| 富蕴县| 原平市| 山东省| 象州县| 德江县| 东阿县| 双牌县| 贞丰县| 新田县| 应城市| 玉山县| 白城市| 清苑县| 海原县| 册亨县| 南丰县| 河东区| 炉霍县| 青冈县| 正安县| 克拉玛依市| 福贡县| 胶州市| 琼结县| 高平市| 赤壁市| 密云县| 抚远县| 卢湾区| 宣恩县| 武穴市| 广安市| 镇原县| 庆阳市|