- 博客(4)
- 收藏
- 关注
原创 62. 不同路径_备忘录递归_DP
使用 dp[i][j] 存储走到i,j时 总可能的路径数 因为只可以向下向右走,则任意点的路径数为dp[i][j] = dp[i-1][j] + dp[i][j-1]; dp初始化最上面一排和最左面一排,因为只可以向右走和向下走,所以初始化路径数都为1,其它为0 class Solution { public: int uniquePaths(int m, int n) { ...
2019-11-17 22:54:25 137
原创 动态规划
思路1 直接使用一个三维度的dp数组[m][k][j], 保存第m天,操作k次,是否持有股票的最大利润,然后找最大的 max(dp[m-1][0][0],dp[m-1][1][0],dp[m-1][2][0]); 思路2 dp1[i] = max(dp[i-1], prices[i] - minval) 从前往后遍历,表示第1天到第i天之间的最大利润(通过是否在第i天卖出确认); dp2[i] =...
2019-11-15 17:40:36 167
原创 C++数组初始化,
定义在函数体内的内置类型的对象(局部变量),如果没有显示初始化,则其值是未定义的,访问它是危险的int a2[10]; 如果使用static修饰(局部静态变量),则会自动初始化成默认值0 static int a4[10]; 或者手动初始化,初始化个数小于数组长度的,剩余元素会自动初始化成默认值0 int a3[10] = {1}; 全局变量的内置类型会自定初始化为默认值0,...
2019-11-15 16:53:55 959
原创 BFS_DFS
给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。 示例 1: 输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4 输出: True 说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。 1 <= k <= len(nums) <= 16 0 < num...
2019-11-12 20:48:04 246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人