随笔分类 -  Leetcode

上一页 1 ··· 6 7 8 9 10 11 12 下一页
摘要:最后更新 二刷 15 Jan 2016 排座问题,记得以前是H难度的,现在改成M了。。 总结一句话,先按身高排,高的在前面;身高一样的情况下,K小的在前面。 BB半天说白了一句话,H大的在顶端,H一样的K小的在顶端。 根据这句话设立PQ的判断规则就行了。。 这样排的原因是因为出QUEUE的时候,后出 阅读全文
posted @ 2016-09-26 10:15 哇呀呀..生气啦~ 阅读(1290) 评论(0) 推荐(0)
摘要:。。感觉做的很蠢。 主要就是看负数怎么处理。 举个例子,比如8位: 0111 1111 = 127 1111 1111 = 1 1000 0000 = 128 正常情况1111 1111应该是256,就是最大值127+最小值的绝对值128+1+num 其实点开那个提供的WIKI链接就一目了然了。。 阅读全文
posted @ 2016-09-26 08:04 哇呀呀..生气啦~ 阅读(175) 评论(0) 推荐(0)
摘要:题目其实指的是left non inner node。。 然后就没啥了,BFS DFS应该都可以。。BFS可能麻烦点。 DFS就是遍历前判定下,满足条件的恰好不需要继续go further from that one。。 阅读全文
posted @ 2016-09-26 07:22 哇呀呀..生气啦~ 阅读(122) 评论(0) 推荐(0)
摘要:这个EASY难度的题怎么感觉比H的还难,昨天没做出来,今天才做出来。。 呃啊。。我生 气 啦。。 直接看的答案,耻辱。 1 digit: 1~9 总共1×9个 2 digits: 10~99 总共2×90个 3 digits: 100~999 总共3×900个 .. ..... 所以就是先定位大区间 阅读全文
posted @ 2016-09-22 12:59 哇呀呀..生气啦~ 阅读(149) 评论(0) 推荐(0)
摘要:图不是很全面,应该自己画个例子。。 好像做过一个类似的。 一开始卡在不知道怎么处理一个凹槽之后,假如当前凹槽最右可以和曾经的最高携手共度青春,如何成全。 看了答案发现明明STACK已经记录了当前最高,自己真是蠢。 当下一个比堆顶高的时候,POP一个出来作为初始。 开始POP,一直POP到堆顶比当前高 阅读全文
posted @ 2016-09-22 12:38 哇呀呀..生气啦~ 阅读(170) 评论(0) 推荐(0)
摘要:刷 June 22 2019 第一反应是这个题也配? 结果做了做还真配。 判断TARGET落点的时候,如果mid right,那么是 5 6 7 8 1 2 在右边 剩下的情况是 left nums[r]) { l = m; } else { r ; } } return Math.min(nums 阅读全文
posted @ 2016-09-22 05:46 哇呀呀..生气啦~ 阅读(168) 评论(0) 推荐(0)
摘要:用String表示BinaryTree,然后在通过String还原刚才的BinaryTree. 其实我感觉LeetCode一直用的一层一层的表达方式就挺好的,通过BFS实现的。 这里如果是DFS的话,那么就pre/in/post选一种,应该都可以。 有2个需要记录,1个是每个NODE的值,1个是结构 阅读全文
posted @ 2016-09-21 12:56 哇呀呀..生气啦~ 阅读(169) 评论(0) 推荐(0)
摘要:recursive比较简单。。 Iterative: 在纸上写出顺序,然后想用STACK来做,结果发现放入STACK的顺序就是preOrder traversal先遍历right child再left child的顺序。 所以按preOrder来做,只不过先遍历右边再遍历左边,然后因为是倒过来的,最 阅读全文
posted @ 2016-09-21 11:05 哇呀呀..生气啦~ 阅读(96) 评论(0) 推荐(0)
摘要:刷 June 20 2019 以前做的有问题,感觉遇到重复的会错,但是parameter变了,不好测了= = 这个题还是值得记一下的。其实是插入多个[1,1]这种interval。无非是跟前后判断就那么几种情况: 左右相连,那一起MREGE,然后删掉后面的 只和一边连, 都不连 其中一边囊括, 更重 阅读全文
posted @ 2016-09-21 08:13 哇呀呀..生气啦~ 阅读(240) 评论(0) 推荐(0)
摘要:刷 June 19 2019 按startTime排序之后楞做= = java class Solution { public int[][] merge(int[][] intervals) { if (intervals.length () { public int compare(int[] 阅读全文
posted @ 2016-09-21 07:35 哇呀呀..生气啦~ 阅读(146) 评论(0) 推荐(0)
摘要:刷 June 19 2019 主要思路是,merge all intervals that have overlap with being inserted interval Edge case比较麻烦。 有可能合并完没有剩下的了,要插入的变成了最后一个,没插入,所以最后要多插入一下 有可能合并完还 阅读全文
posted @ 2016-09-21 07:16 哇呀呀..生气啦~ 阅读(149) 评论(0) 推荐(0)
摘要:这个题与那个LIST套环的其实是一回事。 把nums[]想象成C里面的array of pointers,元素就是指向位置,INDEX就是他的位置。 之所以可以这样想象,是因为题里说了1 n+1个元素出现在size为n的ARRAY里。 一开始想的是1个pointer遍历就行,从nums[0]开始,记 阅读全文
posted @ 2016-09-20 11:59 哇呀呀..生气啦~ 阅读(214) 评论(0) 推荐(0)
摘要:= =这个题好像跟另一个N QUEEN一样的。。 我还以为distinct要转棋盘呢。。比如某种解旋转期盼180°和另一种一样,就要去掉。。结果发现根本不是,就是算总数,比上一个少了个构建LIST的步骤。 Java public class Solution { int res = 0; publi 阅读全文
posted @ 2016-09-20 11:38 哇呀呀..生气啦~ 阅读(97) 评论(0) 推荐(0)
摘要:有名的N QUEEN问题,上学的时候作为例题来讲back track。 对于这种问题,我有一个独特的小窍门,我称之为楞算法,或者生算法。英文叫做brute force..... 这个题就是backtrack,而且backtrack的情况只有一个,就是俩皇后争风吃醋,要弄死对方。每放置一个皇后,都要看 阅读全文
posted @ 2016-09-20 11:31 哇呀呀..生气啦~ 阅读(304) 评论(0) 推荐(0)
摘要:没啥难的,难点在于各种带空格的edge cases. 然后 按空格分是 str.split("\\s+"); 二刷。 感觉这个题是E难度的。。可能本意是考C,C++这种指针运算,in place的话还有那么点意思。 对于Java来说比较直接,用split去掉空格顺便变成String[],然后倒着遍历 阅读全文
posted @ 2016-09-20 08:49 哇呀呀..生气啦~ 阅读(118) 评论(0) 推荐(0)
摘要:用加减法模拟除法。 除法本质就是 被除数 商个除数相加 = 0 如果你电脑足够好,可以无限减。。但是这个题肯定不是这么简单。 最快的方法还是 减去 商乘以除数。 但是这里不能使用乘法,那只好用BIT的运算来实现了。 自己没做出来,但是发现一刷做出来了,怎么看都不像是我这个智商能写出来的,所以不知道当 阅读全文
posted @ 2016-09-20 08:34 哇呀呀..生气啦~ 阅读(157) 评论(0) 推荐(0)
摘要:这个题好贱,二刷的时候就有一刷的印象,记得改来改去各种CASE。 果不其然。 除法就不说了,主要就是出现无限循环的时候,如何判定哪些是循环的。 我们有的信息就是 被除数 除数 商 余数 通过商来判断开始无限循环是不显示的,结果可能是0.1111111111111111111,商一直是1。 通过除数来 阅读全文
posted @ 2016-09-20 07:53 哇呀呀..生气啦~ 阅读(182) 评论(0) 推荐(0)
摘要:正规解法直接跳到代码上面一点的部分就可以了。但我想记录下自己的思考和尝试过程,希望二刷能看到问题所在。 找规律的时候写了好多,虽然规律很简单。 只要随便写3以上的例子,就应该发现,相邻的2个最后结果是一样的,n=8和n=9的结果都是6,n=10和n=11的结果都是8.. 当时我的想法是,8 9消除2 阅读全文
posted @ 2016-09-20 07:05 哇呀呀..生气啦~ 阅读(465) 评论(0) 推荐(0)
摘要:总觉得有陷阱,小心翼翼地做完发现是E难度的。。 正统做法就backtrack,注意break case.. 一开始我觉得明显可以列举出所有可能,反正一天就12 60,这才多少。。 backtrack Java public class Solution { public List readBinar 阅读全文
posted @ 2016-09-19 09:37 哇呀呀..生气啦~ 阅读(823) 评论(0) 推荐(0)
摘要:做完了终于可以吃饭了,万岁~ 假设从stone[i] 无法 跳到stone[i+1]: 可能是,他们之间的距离超过了stone[i]所能跳的最远距离,0 1 3 7, 从3怎么都调不到7; 也可能是,他们之间的距离小于stone[i]能跳的最近距离,0 1 3 6 10 11,从10无法挑到11; 阅读全文
posted @ 2016-09-19 05:30 哇呀呀..生气啦~ 阅读(328) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 下一页