摘要: 动态规划里例题,硬币问题。 p[i] = dp[i coin[j]] + 1; 注意i 阅读全文
posted @ 2016-09-13 14:45 哇呀呀..生气啦~ 阅读(135) 评论(0) 推荐(0)
摘要: 随机返还target值的坐标(如果存在多个target). 不太明白为什么这个题是M难度的。 无非是要么弄TABLE之类的,开始麻烦点,但是pick的时候直接PICK出来就行了。 要么开始简单点,都存了,选的时候再随机选。 前者各种溢出。。貌似memory在leetcode比较值钱。。就用后者 Ja 阅读全文
posted @ 2016-09-13 13:50 哇呀呀..生气啦~ 阅读(353) 评论(0) 推荐(0)
摘要: 找到排列组合的第K个 一开始用backtrack,成功组合到第K个的时候返还。 果然TLE。。 然后看规律。 比如N = 4 1 2 3 4 2 1 3 4 3 1 2 4 4 1 2 3 就是4个 N=3的排列组合 同理 3 就是 3 个 N = 2的组合 二刷。 回头看自己一刷,觉得自己好牛逼。 阅读全文
posted @ 2016-09-13 13:27 哇呀呀..生气啦~ 阅读(159) 评论(0) 推荐(0)
摘要: 呃,楞做应该不行即使知道 (long)x) R = (int)M 1; else L = (int)M + 1; } if(L L == x) return L; else return L 1; } } 注意二分用的是Yes Left No Right。 找到就是Left,找不到就是返还的靠右边的 阅读全文
posted @ 2016-09-13 11:37 哇呀呀..生气啦~ 阅读(118) 评论(0) 推荐(0)
摘要: nlogn对于LIST来说只能是merge sort了。 quick sort没法倒退,不适用于singly list。 length = 3,找到中间,前后分别排序,再merge,其实就是典型的merge sort + node management. Java public class Solu 阅读全文
posted @ 2016-09-13 11:16 哇呀呀..生气啦~ 阅读(115) 评论(0) 推荐(0)
摘要: 先正统做法。 结果TLE 考虑下别的做法。 不管是/2 +1 1都是1 bit操作,从bit上入手。 8 = 1 0 0 0 需要右移3次。 9 = 1 0 0 1 1 /2 /2 /2 基本思路是; 如果是偶数,最右位(RMB)是0,直接/2; 如果是奇数,通过+ 去掉RMB的1. 但是+ 还是有 阅读全文
posted @ 2016-09-13 10:46 哇呀呀..生气啦~ 阅读(624) 评论(0) 推荐(0)
摘要: 一开始没察觉到0123 3012 2301 而不是 0123 1230 2301 的原因,所以也没找到规律,一怒之下brute force.. Java public int maxRotateFunction(int[] A) { if(A.length == 0) return 0; int r 阅读全文
posted @ 2016-09-13 10:45 哇呀呀..生气啦~ 阅读(161) 评论(0) 推荐(0)
摘要: 图像题,没觉得有什么简单的办法,貌似可以用Union Find来解。 感觉有2种思路,一种是先全部构建好每2个点的weight,然后直接遍历queires[][]来抓取答案。 一种是只构建简单的关系图,然后通过DFS来一一找寻要求的答案。 做了一会好他妈的麻烦,最后参考了(http://blog.c 阅读全文
posted @ 2016-09-13 10:43 哇呀呀..生气啦~ 阅读(592) 评论(0) 推荐(0)