优化时间和空间复杂度的优秀代码!
2025-12-07 18:31:52
发布于:广东
22阅读
0回复
0点赞
时间复杂度:O(H×W)
空间复杂度:O(W)
#include<bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
int main() {
int H, W;
cin >> H >> W;
vector<string> grid(H);
for (int i = 0; i < H; i++) {
cin >> grid[i];
}
if (grid[0][0] == '#' || grid[H-1][W-1] == '#') {
cout << 0 << endl;
return 0;
}
vector<int> dp(W, 0);
dp[0] = 1;
for (int i = 0; i < H; i++) {
for (int j = 0; j < W; j++) {
if (grid[i][j] == '#') {
dp[j] = 0;
continue;
}
if (j > 0 && grid[i][j-1] != '#') {
dp[j] = (dp[j] + dp[j-1]) % MOD;
}
}
}
cout << dp[W-1] << endl;
return 0;
}
代码会超时和内存不够
这里空空如也






有帮助,赞一个