摘要: 题目:给一个数字n,返回0到n这n+1个数每个数的二进制形式有几个1,比如n=5,返回【0,1,1,2,1,1】因为0,1,2,3,4,5这几个数对应的二进制分别有0,1,1,2,1,1个1 思路:暴力算每个数的话就没意思了,这里要用dp,可是公式或者说规律比较难找。。f(i)=f(i/2)+i%2 阅读全文
posted @ 2017-04-23 19:15 雪浪snowWave 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目:和之前一道抢房子一样,区别是增加了一个条件,房子是环形分布的,就是说不能同时偷第一个和最后一个,因为他们也是挨着的。。 思路:最优解很巧妙的想法,我们已经算过直线分布的了,那么环形分布和直线分布是不是有什么相似之处呢??其实直线分布如果在后面加一个财宝为0的房子,就是环形分布。环形分布只要去掉 阅读全文
posted @ 2017-04-23 17:01 雪浪snowWave 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题目:给一个数组,求可以切多少片,切的片要求至少有三个数,并且成等差数列,比如【1,2,3,4】可以切成【1,2,3】,【2,3,4】和【1,2,3,4】三种 思路:自己举几个例子找下规律,用动态规划的话,当前值依赖之前一个值和一个参数,这个参数从1开始每次增加1,比如[1,2,3,4,5] dp[ 阅读全文
posted @ 2017-04-23 01:08 雪浪snowWave 阅读(128) 评论(0) 推荐(0) 编辑