关闭
当前搜索:

FTPrep, 130 Surrounded Regions

这道题还是蛮不错的,结合比较多的知识点,对我来说有几个新的点: 1, BFS的iterative方法。把所有的可以延伸的点都收集到一个queue里,从尾巴上加,头部poll,这让我想到了UBER实习第一面时,面试官说我自己实现了queue的结构,我现在想想确实在treelevel traversal 的题型中,也可以用queue来traversal,只要在每一层里,先知道queuesize,然后...
阅读(135) 评论(0)

FTPrep, 129 Sum Root to Leaf Numbers

这道题还是比较顺手,基于之前对各种题型的分析。虽然没有给出具体的list in list 的输出类型,但是 这就是树形的pathSum一样的traversal过程。而且是无条件收集所有pathSum,对比两题的interface,看argumentlist的参数数量,就知道,这里的话因为是收集所有path所以少了一个 target sum的参数。但是套路都是一样的。每个path 的终结是左右子节点...
阅读(80) 评论(0)

FTPrep, 128 Longest Consecutive Sequence

思路很牛B!既然我们要得到最长的consecutive序列,那其实逆向思维,任何一个连续序列,只要选中了上面的一个点,一直往左还是往右延伸都可以得到这个序列的长度,所以可以随意选择。那么先构建一个set存放所有值,而且 即使不存放duplicate也不影响最后结果。 最好要注意的是,set和 iterator的基本用法: Set.isEmpty() (这个和list.isEmpty() 一样啊...
阅读(86) 评论(0)

FTPrep, 127 Word Ladder, TODO,略难,没搞懂

思考一下再说。...
阅读(69) 评论(0)

FTPrep, 126 Word Ladder II, TODO,略难,没搞懂

还有后面紧跟的一道。留着以后做,TODO...
阅读(87) 评论(0)

FTPrep, 125 Valid Palindrome

主要是会用Character类里的一些方法: Character.isLetterOrDigit(); Character.isLetter (); Character.isDigit(); Character.toUpperCase(); Character.toLowerCase(); 这个还蛮重要的。 代码: class Solution { public boole...
阅读(71) 评论(0)

FTPrep, 124 Binary Tree Maximum Path Sum

这道题很有意思!原型就是 树形的 pathSum,从root 到leaf。这个变化的题型之前也想过的,就是,是否可以在任意节点结束,而不一定是leaf。这题就是说可以任意选取两个node作为起始。 那么关键就是怎么在pathSum的原型上进行转化。思路:任意节点的角色有两个: 1) 作为root,那么把它的左右子path的部分相加(条件是大于0),和自己本身value加在一起。这个数是要存到另...
阅读(81) 评论(0)

FTPrep, 123 Best Time to Buy and Sell Stock III, 没完全懂,TODO

这题不敢说完全懂了。只能看看别人的代码研究研究思路 先贴在这里,todo class Solution { public int maxProfit(int[] prices) { if(prices==null || prices.length==0) return 0; int[] local = new int[3]...
阅读(68) 评论(0)

FTPrep, 122 Best Time to Buy and Sell Stock II

思路和121 是一样的,这里的变化是可以多次交易。所以只要遇到比当前价格低的股价时,就立马交易,然后买入这个低股价,同时跟新low,high,当前次的profit 这个也是优化过的结果,而不是用local + global哪种模版套用。但是在下一题模版会比较有用,因为很难优化,条件比较复杂,是动态的,比如说是K次。121-123这三道题连贯性不错,从个例出发,慢慢到generalized for...
阅读(77) 评论(0)

审查文章的 同学你好。有问题请帮忙。

审查文章的 同学你好~ 我也找不到其他方式联系你们,就写在这里吧,希望你看到,或者帮我转发给可以帮忙的管理员。 我发现我每天写博客的数量上限是10篇,可不可以对我扩大这个数量啊,比如30篇。 我的博客都是解题方法,把答案写出来分享给也在做题的童鞋们。现在写得比较多,所以一天肯定超过10篇了,提出这个小小的要求,希望通过。谢谢啦!...
阅读(74) 评论(0)

FTPrep, 121 Best Time to Buy and Sell Stock

这道题,我想得比较细,也就是把优化的步骤都想好了。另外一些解法是套路模版,就是local 和 global两个变量来进行 不断交互比较。所以没有忽略一些可以忽略的情况。哪种模版的情况再处理复杂问题,即可以优化的情况不是很明显的题型时还是比较powerful的。 和下一道题目对比的话,这里只限买卖一次,下一道是买卖多次,多次的话就是 逢低就卖,再一这个低价买入,交易就发生在低价出现之前。有了这个h...
阅读(75) 评论(0)

FTPrep: 120 Triangle,可以归为 pathSum 路径和的这类题,因为用到了list/array,就是一道DP题。

minPathSum represented in List 的题型,其实也是非常典型。从下往上,从后往前,从右到左。反向推导,其实非常make sense。细节看comment吧。 代码: class Solution { public int minimumTotal(List> triangle) { int level=triangle.size(); // l...
阅读(72) 评论(0)

FTPrep, 119 Pascal's Triangle II

和118一样,只是输出不一样,过程也是类似的。注意comment中提到的细节。 118 和119 还是可以归到 level traversal一类的,和3道树的题目,2到populating pointer的题目,然后这里两道input是array的题目 代码: class Solution { public List getRow(int rowIndex) { ...
阅读(71) 评论(0)

FTPrep, 118 Pascal's Triangle

层序遍历的变体,根据上一层生成下一层,list in list题型。不多废话了,之间看代码吧: class Solution { public List> generate(int numRows) { List> result= new ArrayList>(); if(numRows==0) return result; for(int...
阅读(74) 评论(0)

FTPrep, 117 Populating Next Right Pointers in Each Node II,总结得很精准。

和 116 一个类型,但是稍微tricky一点,因为不是balance tree,而是更加 general的任意tree,也是要把next level 链接起来。 所以对应的处理方法就是要有 dummyNodeForNextLevel 作为每一层的起点,同时该层需要一个 curr 以dummyNodeForNextLevel,对该层进行延伸! 两者的分工明确,dummyNodeForNextL...
阅读(75) 评论(0)

FTPrep, 116 Populating Next Right Pointers in Each Node, TODO,再多code几遍,虽然总结写得还比较ok,但是还是手感不熟

代码: /** * Definition for binary tree with next pointer. * public class TreeLinkNode { * int val; * TreeLinkNode left, right, next; * TreeLinkNode(int x) { val = x; } * } */ public ...
阅读(76) 评论(0)

FTPrep, 115 Distinct Subsequences, 2D DP 大总结,值得一看

好题!2D DP问题,两个字符串的比较都逃不出这个套路啊~ 啊哈哈 同类题型:  edit distance, 两个子串的相互比较 interleaving string,两个子串合并成一个串。两个subsequence的合并问题。 distinct subsequence,两个子串的包含关系,也可以堪称是interleaving string的变体,因为短串是长串的一部分,剩下都可以认为...
阅读(73) 评论(0)

FTPrep, 114 Flatten Binary Tree to Linked List, comment中有总结,值得一看

这道题做过了不少次了,一直没有找到归类的类型。然后今天看的时候有了灵感,找到了对应的其他类型: 1,先说high-level上这题的特意:一般来说,都会返回树的root,或者list 的head,但这道题不用,只是一个void的类型。helper function返回的不是头,而是尾巴!!这是特意的的地方,这个tail是为了下一次 连接 hook up用的!精准。所以helper functio...
阅读(93) 评论(0)

FTPrep, 113 Path Sum II

dfs + BT的套路; BT套路 标志: 输出是 list in list 形式。 dfs套路 标志: 树的 路径和 问题。 刚刚的代码, 5min,1 time bug-free /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode lef...
阅读(79) 评论(0)

FTPrep, 112 Path Sum

这道题是 prototype 原型,可以衍生出一系列的题,虽然是easy,但是要考虑细节,抓住其中的要点。 关于path sum就有 5-8 道题,有不同的input形式,常见的是树,还有list in list(金子塔结构,相当于完全树),而树是可以不完整的。这一类题都可以总结到一起。 刚刚写的代码: /** * Definition for a binary tree node. *...
阅读(71) 评论(0)
239条 共12页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:19705次
    • 积分:2448
    • 等级:
    • 排名:第16965名
    • 原创:211篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条