摘要: 要求 你是一个小偷,每个房子中有价值不同的宝物,但若偷连续的两栋房子,就会触发报警系统,求最多可偷价值多少的宝物 示例 [3,4,1,2],返回6[3,(4),1,(2)] [4,3,1,2],返回6[(4),3,1,(2)] 实现 暴力解法:检查所有房子的组合,对每个组合检查是否有相邻房子,若没有 阅读全文
posted @ 2020-04-17 09:12 cxc1357 阅读(100) 评论(0) 推荐(0)
摘要: 要求 给定一个正数n,可将其分割成多个数字的和,求让这些数字乘积最大的分割方法(至少分成两个数) 示例 n=2,返回1(2=1+1) n=10,返回36(10=3+3+4) 实现 回溯遍历(n^2,超时) 1 class Solution { 2 private: 3 int max3( int a 阅读全文
posted @ 2020-04-17 08:33 cxc1357 阅读(159) 评论(0) 推荐(0)
摘要: 要求 楼梯共有n个台阶,每次上一个台阶或两个台阶,一共有多少种上楼梯的方法? 示例 输入:n=3 [1,1,1],[1,2,],[2,1] 输出:n=3 实现 自顶向下(递归) 递归 1 class Solution { 2 3 private: 4 int calcWays(int n){ 5 6 阅读全文
posted @ 2020-04-17 07:51 cxc1357 阅读(108) 评论(0) 推荐(0)
摘要: 引入 以求解斐波那契数列为例,如何避免递归中的重复计算 记忆化搜索(指数->线性,对于n=40,性能提升100万倍) 1 #include <iostream> 2 #include <ctime> 3 #include <vector> 4 using namespace std; 5 6 vec 阅读全文
posted @ 2020-04-17 07:33 cxc1357 阅读(124) 评论(0) 推荐(0)