摘要: 思路:定义一个网格大小的二维数组,先为第一行和第一列赋值。然后后面的值等于网格当前值加上二维数组上面和右面的最小的值。 阅读全文
posted @ 2017-09-27 10:50 豆炸儿 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 思路:第一根栅栏有k种染色方案,第二根也有k种,前两根染色方案有k*k种。第三根栅栏染色有k-1种,若第三根栅栏染色和第二根栅栏不同,那么第三个染色和第一根染色没有关系,则前三根栅栏染色方案有k*k*(k-1)种;若第三根栅栏和第二根栅栏染色相同,那么要求第一个栅栏和第三根栅栏染色不同,则前三根栅栏 阅读全文
posted @ 2017-09-27 10:28 豆炸儿 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 思路:第一行和第一列的元素都有一条路径可以到达,将对应位置赋值为1。接下来每个位置处都可以从其上边或左边到达。 思路:第一行和第一列在没有遇到障碍时,都有一条路径可以到达,都设为1。但当第一行(列)某个位置遇到障碍时,该位置处和其右边(下边)位置处都不能到达了,都要设为0。接下来的位置,当遇到障碍时 阅读全文
posted @ 2017-09-25 12:10 豆炸儿 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 思路:自底向上求解,从倒数第二行开始,本行节点到最后一行的最小路径和等于该节点的数据加上下面左右两个数据中最小的一个。不使用额外空间,直接将最小路径和存储到原有的数组中。1 int minimumTotal(vector> &triangle) { 2 // write your code here 3 for (int i = triangle.size() -... 阅读全文
posted @ 2017-09-24 23:07 豆炸儿 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 问题:假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? code: 阅读全文
posted @ 2017-09-24 22:16 豆炸儿 阅读(392) 评论(0) 推荐(0) 编辑