摘要: 首先进入服务器上的项目目录 之前使用过 scp 直接覆盖过文件,服务器上现在可能会有“未提交的改动”(Uncommitted changes)。如果直接拉取,Git 可能会因为冲突报错。 因为在本地完成了修改并推送,那么直接以 GitHub 上的最新版本为准即可。运行 git restore . 命 阅读全文
posted @ 2026-05-20 11:14 rdcamelot 阅读(3) 评论(0) 推荐(0)
摘要: 最后两题反而都比较简单 都是贪心的思路,如果当前的和不大于 0 ,那么对于后续的子数组一定是不会有贡献的,所以直接归零就可以 class Solution { public: int maxSubArray(vector<int>& a) { int n = a.size(); int ans = 阅读全文
posted @ 2026-05-15 00:04 rdcamelot 阅读(5) 评论(0) 推荐(0)
摘要: 感觉也不完全像贪心 核心是一个结论,如果能到达 x ,那么小于 x 的一定能达到 这是因为我们每次是可以任意选择跳跃的格数的 因为每次是向后跳,所以这种题如果逆序做反而比较复杂,就好像树要知道父节点的信息一样 知道了上面的结论之后那我们每次就是维护当前能够达到的最远的距离,如果小于这个距离那我们就能 阅读全文
posted @ 2026-05-14 18:29 rdcamelot 阅读(7) 评论(0) 推荐(0)
摘要: 代码跑的挺慢的 排序,第一维升序第二维降序 然后每次维护当前的 r(因为 l 一定是递增的) 如果新区间的 l 小于等于 r ,那么就说明重叠了,于是扩大区间 否则把现在的 (l, r) 区间放入 这样完整的扫一遍后就得到结果 class Solution { public: vector<vect 阅读全文
posted @ 2026-05-13 23:59 rdcamelot 阅读(5) 评论(0) 推荐(0)
摘要: 实际上比较合适的方法是 DP 因为这里又是一个计算方案数的问题,以及每次只会从上方或者左侧转移过来 不过这里第一时间想到的是组合数的解法 因为每次要向右移动以及向下移动的次数是固定的,相当于我们找这些移动的排列数,所以能想到答案是 \(\frac{(n + m - 2)!}{(n - 1)!(m - 阅读全文
posted @ 2026-05-13 23:42 rdcamelot 阅读(10) 评论(0) 推荐(0)
摘要: DFS 如果不加记忆化会 T 所以用 dp dp[i][j] 表示到 (i, j) 位置的最小花费 转移就是从 (i - 1, j) 或 (i, j - 1) 转移过来 时间复杂度 O(nm) class Solution { public: int minPathSum(vector<vector 阅读全文
posted @ 2026-05-12 10:53 rdcamelot 阅读(3) 评论(0) 推荐(0)
摘要: 考虑应该是什么样的 如果我们有已经排完序的数组 那么和排完序数组前缀和后缀相同的不需要修改,其他的是需要进行排序的部分 O(n) 情况下,我们可以先去找哪些是必须要被排序的 因为只能排序一次,所以数组中的逆序对是一定要被操作的,所以我们维护这些的最小值和最大值 这样我们相当于得到了一个要操作的区间 阅读全文
posted @ 2026-05-11 18:13 rdcamelot 阅读(4) 评论(0) 推荐(0)
摘要: 经典 DP dp[i] 表示爬到 i 的方案数 转移就是考虑什么状态能够到 i ,所以 dp[i] = dp[i - 1] + dp[i - 2] 初始 dp[0] = 1 理解为一开始到 0 的方案数只有 1 class Solution { public: int climbStairs(int 阅读全文
posted @ 2026-05-11 11:12 rdcamelot 阅读(4) 评论(0) 推荐(0)
摘要: 动态规划 就是从 s 到 t 的最小步数是多少 (s 到 t 和 t 到 s 是等价的,所以怎么方便怎么来) 之所以是 dp 是因为我们处理好了比如 s 的一个前缀到 t 的一个前缀,那么到了下一个位置的时候,可以从前面的状态转移过来,因为只需要考虑当前的两个元素是否相同 如果相同,那么直接从 dp 阅读全文
posted @ 2026-05-10 11:54 rdcamelot 阅读(4) 评论(0) 推荐(0)
摘要: 没看到只有三种颜色 原地排序用的冒泡 反正 n <= 300 也不影响 class Solution { public: void sortColors(vector<int>& a) { int n = a.size(); for (int i = 0; i < n; i++) { for (in 阅读全文
posted @ 2026-05-10 11:01 rdcamelot 阅读(4) 评论(0) 推荐(0)