会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
co0oder
博客园
首页
新随笔
联系
订阅
管理
2017年6月14日
338. Counting Bits
摘要: 1 class Solution { 2 public: 3 vector countBits(int num) { 4 vector res (num + 1, 0); 5 for(int i = 1; i < num + 1; ++i){ 6 res[i] = res[i / 2] + i % 2; 7 ...
阅读全文
posted @ 2017-06-14 02:34 co0oder
阅读(89)
评论(0)
推荐(0)
编辑
343. Integer Break
摘要: 对于每个数字i,分为j和i-j两个部分,两个部分分别可以选择继续拆分和不拆分。
阅读全文
posted @ 2017-06-14 02:23 co0oder
阅读(82)
评论(0)
推荐(0)
编辑
2017年6月11日
494. Target Sum
摘要: 数组中每个元素都要用到,取正或负,全部的和是否能得到target。 数学问题,取正的集合之和为P,取负的为N。 P - N = target P - N + P + N = target + P + N 2*P = target + sum P = (target + sum) / 2 target
阅读全文
posted @ 2017-06-11 19:34 co0oder
阅读(78)
评论(0)
推荐(0)
编辑
375. Guess Number Higher or Lower II
摘要: dp[i]表示i是否能得到,初始化dp[0]为true。 遍历数组每个元素(num),对于dp中每个元素(dp[j]),如果为true,则dp[j + num] = true。 注意j必须从尾到头遍历,不然[1,2,5]会认为是true。(即每个元素num会重复累加)
阅读全文
posted @ 2017-06-11 19:20 co0oder
阅读(86)
评论(0)
推荐(0)
编辑
2016年4月14日
LeetCode 145. Binary Tree Postorder Traversal
摘要: 先自己在纸上画棵树,发现可以用stack实现迭代版的后序遍历,最开始先把root压入栈。另外维护一个栈,记录对应节点出栈的次数,如果是1,表明左右节点已输出,就输出;如果为0,说明左右节点还未压入栈,就把次数加1,且把左右节点压入栈。
阅读全文
posted @ 2016-04-14 20:43 co0oder
阅读(119)
评论(0)
推荐(0)
编辑
2016年4月12日
LeetCode 107. Binary Tree Level Order Traversal II
摘要: 水题,把每一层的节点存入queue中,val存入vector,vector再存入stack(因为最后结果的顺序是最底层在最前面)。 耗时较多,留坑。
阅读全文
posted @ 2016-04-12 20:49 co0oder
阅读(129)
评论(0)
推荐(0)
编辑
LeetCode 337. House Robber III
摘要: 一开始以为不直接连接的话就考虑隔层加钱,偶数层和奇数层分开算得两个结果,但是输入为[4,1,null,2,null,null,3]时最大值为4+3 = 7,4是第0层,3是3层。 因此要以节点为对象,而不是层。每个节点的情况分两种,抢和不抢,如果抢当前节点,那么左右节点不能抢;如果不抢,那么当前节点
阅读全文
posted @ 2016-04-12 20:38 co0oder
阅读(127)
评论(0)
推荐(0)
编辑
2016年4月5日
LeetCode 85. Maximal Rectangle
摘要: 留坑
阅读全文
posted @ 2016-04-05 21:43 co0oder
阅读(168)
评论(0)
推荐(0)
编辑
LeetCode 84. Largest Rectangle in Histogram
摘要: ver0: 用递归,首先判断整个高度是否单调递增,如果是的话,从第一个高度开始,假设该高度是最终最大矩形的高度,得到面积,一直遍历到最后一个高度,这样就得出了最大面积;如果不是单调递增,则先得到最小高度的位置,根据递归得到最小高度左边的最大矩形面积,再得到最小高度右边的最大矩形面积,又得到以最小高度
阅读全文
posted @ 2016-04-05 21:15 co0oder
阅读(297)
评论(0)
推荐(0)
编辑
2016年4月4日
LeetCode 42. Trapping Rain Water
摘要: 首先说说最初的但是不正确的思路,stk存值,初始化为输入数组的第一位。从左往右读入数组每一位,如果height[i]>stk.top(),说明stk.top()无法蓄水,pop掉,替换为height[i];如果height[i]<=stk.top(),那么从i开始遍历,直到找到大于等于stk.top
阅读全文
posted @ 2016-04-04 23:46 co0oder
阅读(135)
评论(0)
推荐(0)
编辑
下一页
公告