返回信息流public class Solution {
public int minPathSum(int[][] grid) {
int xSize = grid.length;
int ySize = grid[0].length;
if(xSize == 0)
return 0;
int[][] cache = new int[xSize][ySize];
/*for (int i = 1; i < xSize; i++){
for (int j = 1; j < ySize; j++){
cache[i][j] = Integer.MAX_VALUE;
}
}*/
cache[0][0] = grid[0][0];
for(int i = 1; i < ySize; i++){
cache[0][i] = cache[0][i-1] + grid[0][i];
}
for(int i = 1; i < xSize; i++){
cache[i][0] = cache[i-1][0] + grid[i][0];
}
for(int i = 1; i < xSize; i++){
for(int j = 1; j < ySize; j++){
cache[i][j] = Math.min(cache[i-1][j], cache[i][j-1]) + grid[i][j];
}
}
return cache[xSize-1][ySize-1];
}
}
自己先做了一下,直接在原数组操作了,最后的时间是5ms,提交后发现都在4ms,所以去讨论区看了一下,看到了这个代码,拿过来运行了一下,时间是3ms,看了一下发现上面代码中我注释掉的内容是多余的,于是注释掉运行了一下,时间变成了4ms,感觉有点不对啊,少执行了代码为什么会变慢呢,求大神解惑??
这是一条镜像帖。来源:北邮人论坛 / java / #50789同步于 2016/5/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
感觉到很诡异的问题,为什么注释掉几行代码后速度回变慢
Ljiayou
2016/5/31镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
忘了说题目,就是leetcode上的一个问题,问题描述为:Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.
Note: You can only move either down or right at any point in time.