Re: [闲聊] 每日leetcode

楼主: sixB (6B)   2025-08-08 01:26:54
3363.
不懂这题为什么能算hard ==
原本以为会重叠超麻烦
结果发现根本就直接切开算就好
真的会重叠的话要问走到边 不是走到角落
class Solution {
public:
int maxCollectedFruits(vector<vector<int>>& f) {
int n = f.size();
int res = 0;
//(0, 0)
for(int i = 0; i < n; i++){
res += f[i][i];
}
//top right
int half = n / 2;
vector<int> dp(n, 0);
int i = 0;
for(; i < half; i++){
vector<int> next(n, 0);
for(int j = 0; j <= i; j++){
next[j] = f[i][n-1-j];
int add = dp[j];
if(j > 0) add = max(add, dp[j-1]);
if(j < i) add = max(add, dp[j+1]);
next[j] += add;
}
dp = move(next);
}
if(n % 2 == 0) half
作者: Sougou (搜狗)   2025-08-08 01:33:00
太卷了吧
作者: oin1104 (是oin的说)   2025-08-08 01:41:00
我好崇拜你

Links booklink

Contact Us: admin [ a t ] ucptt.com