<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 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    數(shù)據(jù)結(jié)構(gòu)和算法

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

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

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

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

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

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

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

         摘要: 給定兩個(gè)字符串S和T,計(jì)算S的子序列為T(mén)的個(gè)數(shù)。

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

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

    如果S=“rabbbit” T=“rabit”,有3種不同的子序列為T(mén)的構(gòu)成方法,那么結(jié)果應(yīng)該返回3。  閱讀全文

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

         摘要: 給定一顆二叉樹(shù):
    class TreeLinkNode {
    TreeLinkNode left;
    TreeLinkNode right;
    TreeLinkNode next;
    }
    要求把所有節(jié)點(diǎn)的next節(jié)點(diǎn)設(shè)置成它右邊的節(jié)點(diǎn),如果沒(méi)有右節(jié)點(diǎn),設(shè)置成空。初始狀態(tài),所有的next的指針均為null.

    要求:你只能使用常數(shù)的空間。

    比如:
    1
    / \
    2 3
    / \ \
    4 5 7
    應(yīng)該輸出:

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

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

         摘要: 假設(shè)你有一個(gè)數(shù)組包含了每天的股票價(jià)格,它的第i個(gè)元素就是第i天的股票價(jià)格。

    設(shè)計(jì)一個(gè)算法尋找最大的收益。你可以最多進(jìn)行兩次交易。
    注意:你不能同時(shí)進(jìn)行多次交易,也就是說(shuō)你買(mǎi)股票之前,必須賣(mài)掉手中股票。  閱讀全文

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

         摘要: 假設(shè)你有一個(gè)數(shù)組包含了每天的股票價(jià)格,它的第i個(gè)元素就是第i天的股票價(jià)格。

    設(shè)計(jì)一個(gè)算法尋找最大的收益。你可以進(jìn)行任意多次交易。但是,你不能同時(shí)進(jìn)行多次交易,也就是說(shuō)你買(mǎi)股票之前,必須賣(mài)掉手中股票。  閱讀全文

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

         摘要: 假設(shè)你有一個(gè)數(shù)組包含了每天的股票價(jià)格,它的第i個(gè)元素就是第i天的股票價(jià)格。

    你只能進(jìn)行一次交易(一次買(mǎi)進(jìn)和一次賣(mài)出),設(shè)計(jì)一個(gè)算法求出最大的收益。  閱讀全文

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

         摘要: 給定一個(gè)二叉樹(shù),尋找最大的路徑和.
    路徑可以從任意節(jié)點(diǎn)開(kāi)始到任意節(jié)點(diǎn)結(jié)束。(也可以是單個(gè)節(jié)點(diǎn))

    比如:對(duì)于二叉樹(shù)
    1
    / \
    2 3
    和最大的路徑是2->1->3,結(jié)果為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 小明 閱讀(4015) | 評(píng)論 (0)  編輯 |

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

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

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

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

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

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

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

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

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

         摘要: 給定兩個(gè)單詞(一個(gè)開(kāi)始,一個(gè)結(jié)束)和一個(gè)字典,找出最短的從開(kāi)始單詞到結(jié)束單詞的變換序列的長(zhǎng)度,并滿足:

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

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

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

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

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

    比如,對(duì)于二叉樹(shù)
    1
    / \
    2 3

    一共有兩條路徑1->2和1->3,那么求和的結(jié)果就是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 小明 閱讀(2548) | 評(píng)論 (1)  編輯 |

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

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

    應(yīng)該輸出:

    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 小明 閱讀(1565) | 評(píng)論 (2)  編輯 |

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

    比如,對(duì)于字符串s="aab",
    返回:

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

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

    +1

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

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

         摘要: 實(shí)現(xiàn) int sqrt(int x);
    計(jì)算和返回x的平方根。  閱讀全文

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

         摘要: 給定一個(gè)未排序的整數(shù)數(shù)組,求最長(zhǎng)的連續(xù)序列的長(zhǎng)度。要求算法的時(shí)間復(fù)雜度在O(n)
    比如對(duì)于數(shù)組[100, 4, 200, 1, 3, 2],其中最長(zhǎng)序列為[1,2,3,4],所以應(yīng)該返回4

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

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

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

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

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

         摘要: TopCoder Prerequisites解法  閱讀全文

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

    主站蜘蛛池模板: 亚洲AV无码片一区二区三区| 国产成人久久AV免费| 伊伊人成亚洲综合人网7777| 无码国产精品一区二区免费模式| 91亚洲精品自在在线观看| 国产色爽免费视频| 暖暖免费在线中文日本| 亚洲男人的天堂网站| 亚洲精品无码鲁网中文电影| 日韩国产免费一区二区三区| 无码免费又爽又高潮喷水的视频| 亚洲精品高清视频| 四虎影院永久免费观看| 中文字幕视频免费| 人人爽人人爽人人片A免费| 亚洲成综合人影院在院播放| 亚洲成片观看四虎永久| 久久国产免费福利永久| a在线视频免费观看在线视频三区 a毛片成人免费全部播放 | 亚洲国产美国国产综合一区二区| 永久免费无码网站在线观看| 免费无码成人AV在线播放不卡 | 人妻无码一区二区三区免费| 日韩大片免费观看视频播放 | 亚洲国产天堂久久综合网站| 免费一看一级毛片全播放| 精品免费久久久久久久| 三年在线观看免费观看完整版中文| 亚洲卡一卡二卡乱码新区| 亚洲午夜视频在线观看| 亚洲中文字幕无码爆乳av中文| 成年人性生活免费视频| 最近新韩国日本免费观看| 97在线免费视频| 一区二区三区AV高清免费波多| 亚洲国产视频久久| 亚洲国产av美女网站| 久久久久久亚洲Av无码精品专口| 在线a亚洲v天堂网2019无码| 亚洲 另类 无码 在线| 日韩电影免费在线观看视频|