Justinax
Justinax
全部文章
分类
归档
标签
去牛客网
登录
/
注册
Justinax的博客
全部文章
(共9篇)
题解 | #最长上升子序列(一)#
思路 LIS 最长上升子序列 dp[i] = i 结尾的LIS 对于前面的所有j,只要arr[j] < arr[i],i就可以跟在j序列的后面,dp[i]就可以是dp[j]+1. code class Solution { public: /** * 代码中的类名、方法名、参...
2025-08-10
0
13
题解 | #最长公共子序列(二)#
思路 长度很容易计算,如果遇到相同字母就是 dp[i-1][j-1]+1; 如果不同,则是 max(dp[i-1][j], dp[i][j-1]) path: 1 左上,2 左,3 上 然后递归回溯,回溯的时候别弄错左/上对应的 id。 end: 0,0 = "" case1:...
2025-08-10
0
14
min dp (fib是 sum,这里换成 min)题解 | 最小花费爬楼梯
class Solution { public: /** * * * * @param cost int整型vector * @return int整型 */ int minCostClimbingStairs(vec...
2025-08-10
0
14
斐波那契数列 题解 | 跳台阶
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return int整型 */ in...
2025-08-10
0
14
异或所有数字得到 xor, 按照xor 中的一个 1 分组再次异或得到答案| 只出现一次的两个数字
当然也可以 hash map class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @ret...
2025-08-08
0
13
题解 | #游游的最长稳定子数组#
双指针,遍历前进项right,left 根据否决条件收缩。 注意事项:记得更新 ans。 code #include <iostream> #include <vector> using namespace std; int main() { int n; ...
2025-08-07
0
17
题解 | #【模板】二维前缀和#
思路 当前的二维前缀和 = sum上面和 + sum下面 - sum(x-1, y-1) + 自己 注意事项 i 从 1 开始 pre[0].resize(m+1); 注意这里要给 pre[0] 也 resize 一下,不然会一直发生段错误 seg fault!!! code #include ...
2025-08-07
0
13
题解 | 动态规划 | #数楼梯#
思路 题干:一次走 1 或 2 步,只有两种选择,最终目标是到 n 层。 方法:dp[i] 表示走到 i 层包含的走法。 dp[i] = dp[i-1] + dp[i-2]; i: 1-n 注意事项 Code #include <iostream> using namespace std...
2025-08-07
0
11
题解 | #完美异或#
由于 ai 可以是 0, 0 异或任何数字都能保持不变。因此 n-1个 0和一个 n 就可以满足所有要求。 #include <iostream> using namespace std; int main() { int t; while (scanf("...
2025-08-07
0
16