這里的字符串的子序列指的是刪除字符串的幾個字符(也可以不刪)而得到的新的字符串,但是不能改變字符的相對位置。
比如“ACE”是“ABCDE”的子序列,但是“AEC”就不是。
如果S=“rabbbit” T=“rabit”,有3種不同的子序列為T的構(gòu)成方法,那么結(jié)果應(yīng)該返回3。 閱讀全文
posted @ 2013-04-26 23:33 小明 閱讀(2037) | 評論 (1) 編輯 |
|
|||
04 2013 檔案 摘要: 給定兩個字符串S和T,計算S的子序列為T的個數(shù)。
這里的字符串的子序列指的是刪除字符串的幾個字符(也可以不刪)而得到的新的字符串,但是不能改變字符的相對位置。 比如“ACE”是“ABCDE”的子序列,但是“AEC”就不是。 如果S=“rabbbit” T=“rabit”,有3種不同的子序列為T的構(gòu)成方法,那么結(jié)果應(yīng)該返回3。 閱讀全文 posted @ 2013-04-26 23:33 小明 閱讀(2037) | 評論 (1) 編輯 | 摘要: 給定一顆二叉樹:
class TreeLinkNode { TreeLinkNode left; TreeLinkNode right; TreeLinkNode next; } 要求把所有節(jié)點的next節(jié)點設(shè)置成它右邊的節(jié)點,如果沒有右節(jié)點,設(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 小明 閱讀(2129) | 評論 (0) 編輯 | 摘要: 假設(shè)你有一個數(shù)組包含了每天的股票價格,它的第i個元素就是第i天的股票價格。
設(shè)計一個算法尋找最大的收益。你可以最多進(jìn)行兩次交易。 注意:你不能同時進(jìn)行多次交易,也就是說你買股票之前,必須賣掉手中股票。 閱讀全文 posted @ 2013-04-25 22:22 小明 閱讀(2072) | 評論 (0) 編輯 | 摘要: 假設(shè)你有一個數(shù)組包含了每天的股票價格,它的第i個元素就是第i天的股票價格。
設(shè)計一個算法尋找最大的收益。你可以進(jìn)行任意多次交易。但是,你不能同時進(jìn)行多次交易,也就是說你買股票之前,必須賣掉手中股票。 閱讀全文 posted @ 2013-04-19 21:50 小明 閱讀(1855) | 評論 (0) 編輯 | 摘要: 假設(shè)你有一個數(shù)組包含了每天的股票價格,它的第i個元素就是第i天的股票價格。
你只能進(jìn)行一次交易(一次買進(jìn)和一次賣出),設(shè)計一個算法求出最大的收益。 閱讀全文 posted @ 2013-04-19 15:03 小明 閱讀(1586) | 評論 (0) 編輯 | 摘要: 給定一個二叉樹,尋找最大的路徑和.
路徑可以從任意節(jié)點開始到任意節(jié)點結(jié)束。(也可以是單個節(jié)點) 比如:對于二叉樹 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 小明 閱讀(4012) | 評論 (0) 編輯 | 摘要: 給定兩個單詞(一個開始,一個結(jié)束)和一個字典,找出所有的最短的從開始單詞到結(jié)束單詞的變換序列的序列(可能不止一個),并滿足:
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 小明 閱讀(1369) | 評論 (0) 編輯 | 摘要: 給定兩個排序好的數(shù)組A和B,把B合并到A并保持排序。
public class Solution { public void merge(int A[], int m, int B[], int n) { //write your code here } } 注意: 假定A有足夠的額外的容量儲存B的內(nèi)容,m和n分別為A和B的初始化元素的個數(shù)。要求算法復(fù)雜度在O(m+n)。 閱讀全文 posted @ 2013-04-18 13:44 小明 閱讀(1286) | 評論 (0) 編輯 | 摘要: 給定兩個單詞(一個開始,一個結(jié)束)和一個字典,找出最短的從開始單詞到結(jié)束單詞的變換序列的長度,并滿足:
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 小明 閱讀(1522) | 評論 (0) 編輯 | 摘要: 給定一個二叉樹,每個節(jié)點的值是一個數(shù)字(0-9),每個從根節(jié)點到葉節(jié)點均能組成一個數(shù)字。
比如如果從根節(jié)點到葉節(jié)點的路徑是1-2-3,那么這代表了123這個數(shù)字。 求出所有這樣從根節(jié)點到葉節(jié)點的數(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 小明 閱讀(2545) | 評論 (1) 編輯 | 摘要: 給定一個2D的棋盤,含有‘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 小明 閱讀(1562) | 評論 (2) 編輯 | 摘要: 給定一個字符串s,切割字符串使得每個子串都是回文的。(比如aba,對稱)
要求返回所有可能的分割。 比如,對于字符串s="aab", 返回: [ ["aa","b"], ["a","a","b"] ] 閱讀全文 posted @ 2013-04-15 13:52 小明 閱讀(1506) | 評論 (0) 編輯 | 摘要: 給定一個有由數(shù)字構(gòu)成的數(shù)組表示的數(shù),求該數(shù)加1的結(jié)果。
public class Solution { public int[] plusOne(int[] digits) { } } 閱讀全文 posted @ 2013-04-15 11:22 小明 閱讀(1380) | 評論 (3) 編輯 | 摘要: 實現(xiàn) int sqrt(int x);
計算和返回x的平方根。 閱讀全文 posted @ 2013-04-15 10:19 小明 閱讀(1469) | 評論 (0) 編輯 | 摘要: 給定一個未排序的整數(shù)數(shù)組,求最長的連續(xù)序列的長度。要求算法的時間復(fù)雜度在O(n)
比如對于數(shù)組[100, 4, 200, 1, 3, 2],其中最長序列為[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 小明 閱讀(2418) | 評論 (7) 編輯 | 摘要: 給定一個字符串s,分割s使得每個子串都是回文的(即倒過來和原字符串是一樣的,如aba)
求最少的分割次數(shù)。 閱讀全文 posted @ 2013-04-11 11:24 小明 閱讀(4147) | 評論 (3) 編輯 | posted @ 2013-04-02 14:04 小明 閱讀(404) | 評論 (0) 編輯 |
|
|||