08 2018 档案
摘要:共享指针的简单实现,主要参考 https://www.cnblogs.com/xiehongfeng100/p/4645555.html
阅读全文
摘要:参考:https://www.cnblogs.com/Peyton-Li/p/7587372.html 发现满足条件必须存在1,然后遍历每种情况,累加。
阅读全文
摘要:https://www.nowcoder.com/questionTerminal/4ce64fe976c548f5beacfe47faf666b0?orderByHotValue=1&page=1&onlyReference=false 现将上面一行相连的海洋设置为-1,再将第一列和最后一列相连海
阅读全文
摘要:待学习。。 看了上面代码,自己给思路改进了一下,代码如下: 类似于图的广度优先遍历,每一种情况都一个个入队列,然后判断是否和预期的状态相等,相等时候停止循环,输出并返回。
阅读全文
摘要:递归,一行一行放置,判断是否放置完成,完成则输出到result中。
阅读全文
摘要:这个路径可能存在从子节点经过父节点,再到子节点的情况,所有从当前节点构成的路径需要考虑左右两条路径相加,用递归,求得左右的最长路径,相加,即为所求
阅读全文
摘要:struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}}; //树相同bool isSameTree(TreeNode* p, T
阅读全文
摘要:现有n件物品和一个容量为c的背包。第i件物品的重量是重量为w[i],价值是v[i]。已知对于一件物品必须选择取(用1表示)或者不取(用0表示),且每件物品只能被取一次(这就是“0-1”的含义)。求放置哪些物品进背包,可使这些物品的重量总和不超过背包容量,且价值总和最大。 01背包问题: c[i][j
阅读全文
摘要:参考:http://blog.sina.com.cn/s/blog_61034ad90100encg.html f[i][j]表示i时刻移动j次的情况,f[i][j] = Max(f[i - 1][j], f[i - 1][j - 1]) + int(a[i] == (j + 1) % 2) 表示这
阅读全文
摘要:参考https://www.cnblogs.com/grandyang/p/6103525.html 思路是遍历每一种可能性,得出必胜的走法。然而,用递归会存在很多的重复计算,所以可用动态规划存储下计算的状态,用map<int,bool>存储,其中int对应current,考虑,所以可以用int来存
阅读全文
摘要:动态规划问题,主要在于需要想清楚递推关系,num[i][j]表示能使用 i 种硬币时,得到 j 零钱的最优解。 想来就是首先假设只能使用第一种硬币 1 ,那么会得到num[ 1 : n] = {1,2,3,4.....n},然后在此基础上,我们引入第二种硬币 2 ,考虑num[i][j],此时存在两
阅读全文

浙公网安备 33010602011771号