- 博客(7)
- 资源 (6)
- 问答 (3)
- 收藏
- 关注
原创 写动态规划题时那些让人抓狂的bug
leetcode377题当 if(nums[j] <= i) 时 不能直接 memo[i] += memo[i - nums[j]];if(nums[j] <= i){ if(memo[i] == -1 || memo[i - nums[j]] == -1 || (long long)memo[i] + (long long)memo[i - nums[j]] > INT_MAX) memo[i] = -1; else memo[i] +
2020-10-25 09:51:28 108
原创 由leetcode198来思考动态规划
这是一道easy的题目,但是今天我重做的时候,用了一个不一样的方法,对动态规划的理解又深刻了一点。。。主要是将其和背包问题的状态定义的区别更加理解了。之前我对动态规划的理解,就是从最小的一个问题,递推,最终得到最大问题的解。具体我又给其分成两种问题,一种是问题图形画出来是一棵二叉树,一种画出来是多叉树。二叉树问题诸如:斐波那契数列以及其变种(如爬楼梯 / 在一个网格中只能向两个方向移动,让求其最小路径)如这一道问题:其画出来的就是这样的一棵二叉树可以找到其递归结构:状态定义:设 F(n.
2020-10-23 20:07:46 182
原创 leetcode 337 打家劫舍 III
这道题真的一开始我想的是树的层次遍历,然后隔行相加,然后再取这二者的最大值。。。但是如果碰到这个测试用例 [4,1,null,2,null,3],取第1行和第4行的结果为7,而各行求和最大结果才为6所以就参考了一下leetcode的官方讲解//递归的方法class Solution {private: unordered_map <TreeNode*, int> f, g; //f表示结点选中情况在该点的最大值 g表示结点不选中情况在该点的最大值 vo.
2020-10-19 19:21:44 135
原创 leetcode第211场周赛
???? 这次只做出来一题。。。第三题调了好久,刚开始就想着用multimap来存键值对,结果忘记了multimap的排序是不稳定的。。。哎,后来用系统的排序算法,其底层是用快排写的,也是不稳定的。。。哎,耽误好久class Solution {private: int res = -1;public: int maxLengthBetweenEqualCharacters(string s) { int n = s.size();
2020-10-18 14:46:52 148 1
原创 leetcode第37场双周赛
又是只做出来两道选手。。。第一名26分钟就四道都AC完了 ????class Solution {public: double trimMean(vector<int>& arr) { vector<int> result; sort(arr.begin(), arr.end()); int length = arr.size(); int start = le
2020-10-18 10:18:46 151
原创 leetcode47 全排列(去重问题)
这道题相对于leetcode46多了一个去重操作。在代码上也就是在往保存的vector里push进元素的时候多了这么一行判断 if (vis[i] || (i > 0 && nums[i] == nums[i - 1] && !vis[i - 1])) { continue; }即当vis[i] = 0时,有两种情况:1。后面的不成立,即没有被访问过的时候,会先访问它2。这种情况就是在回溯到底的时候,即栈中.
2020-10-08 00:13:07 164
原创 leetcode第209场周赛
这也是我的第一场周赛。。。 好烦啊,自己连二叉树基本操作都忘了,只暴力的A了一题。调程序的时候,实验室还有人一直BBB,真烦。先把A的第一题代码放上class Solution {public: int specialArray(vector<int>& nums) { int len = nums.size(); int i = 0; while( i <= len ){ int count
2020-10-04 11:53:39 203
vector的bool类型赋值问题
2020-10-07
c++指针溢出问题 pointer overflow bugs
2020-03-09
java如何获取本地文件创建时间?
2017-12-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人