摘要: 携带研究材料 题目 限制条件是背包的空间,目标是实现价值最大。输出是最大价值。研究材料的种类是含有映射关系数组的长度。 初始思路 1.找到比行李箱空间小的所有的材料;这是一个含有映射关系的数组 2.对该数组做空间小于给定空间的所有组合,并记录价值总和;这是个组合问题 3.找出价值最大的组合。 组合问 阅读全文
posted @ 2025-12-15 18:00 FAfa_C++ 阅读(4) 评论(0) 推荐(0)
摘要: 不同路径 题目理解 1.关于返回值 如果数组dp[m][n]代表到(m,n)的路径,那它必然是一个整数,在开始分配空间的时候我们记录的是自(0,0)到(m,n)的一个块,如果m=3,n=2,这个块实际上是一个3行2列的数组:初始化是: 0,0 0,0 0,0 结果数组是这样的: 1,1 1,2 1, 阅读全文
posted @ 2025-12-13 20:57 FAfa_C++ 阅读(5) 评论(0) 推荐(0)
摘要: 理论基础 Dynamic Programming,当前状态由上一状态推导而来。 FIB 斐波那契 1.初始化数组的时候需要分配数组大小; 2.如果没有分配,使用push_back是安全的; 题解 class Solution { public: int fib(int n) { if(n<=1) r 阅读全文
posted @ 2025-12-08 00:22 FAfa_C++ 阅读(7) 评论(0) 推荐(0)
摘要: 用最少数量的箭引爆气球 思路 如果当前数组的左区间没有覆盖前一个数组的右区间,就需要新的箭来击穿。不然就更新新的右区间。 class Solution { static bool cmd(const vector<int>&a,vector<int>&b){ if(a[0]==b[0]){ retu 阅读全文
posted @ 2025-12-07 19:24 FAfa_C++ 阅读(5) 评论(0) 推荐(0)
摘要: 加油站 抽象,想到了一些,但是思路并没有缕清楚。 class Solution { public: int canCompleteCircuit(vector& gas, vector& cost) { int rest; for (int i = 0; i < cost.size(); i++) 阅读全文
posted @ 2025-12-06 00:43 FAfa_C++ 阅读(5) 评论(0) 推荐(0)
摘要: 买卖股票的最佳时机 问题理解 整数数组的下标表示股票某天的价格,需要返回最大利润。题目多少有点离谱了,在同一天多次买卖该股票,但是特定日期的价格是确定的。 class Solution { public: int maxProfit(vector<int>& prices) { int result 阅读全文
posted @ 2025-12-05 23:07 FAfa_C++ 阅读(7) 评论(0) 推荐(0)
摘要: 分发饼干 代码 class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.begin(), g.end()); sort(s.begin(), s.end()); int ind 阅读全文
posted @ 2025-12-04 00:14 FAfa_C++ 阅读(8) 评论(0) 推荐(0)
摘要: Hello World 阅读全文
posted @ 2025-11-30 12:25 FAfa_C++ 阅读(4) 评论(0) 推荐(0)
摘要: 非递减子序列 问题描述 给了一个数组,要求给出其所有长度>=2的非递减子序列。 思路 压入结果的条件是path.size()>=2,回溯过程结束的条件是移动到了边上startIndex>=num.size() 在树中,非递减序列,要求压入的元素必须比之前压入的大:if(path.empty()||n 阅读全文
posted @ 2025-11-29 20:35 FAfa_C++ 阅读(48) 评论(1) 推荐(0)
摘要: 回溯练习:再有重复元素和无重复元素的数组中分别找到和为target的子集,以及给出指定字符串的回文子字符串。 阅读全文
posted @ 2025-11-28 21:40 FAfa_C++ 阅读(4) 评论(0) 推荐(0)