这几天碰到两次线上有 case 通不过,但是相同的 case 在本地上却能给出正确的结果,本地和线上的代码一样。 比如这道题 https://leetcode.com/problems/spiral-matrix/?tab=Description
代码有点丑如下:
import java.util.*;
public class Solution {
public static List<Integer> spiralOrder(int[][] matrix) {
if (matrix == null || matrix.length == 0)
return new LinkedList<Integer>();
int m = matrix.length;
int n = matrix[0].length;
int left = 0;
int right = n-1;
int top = 0;
int bottom = m-1;
List<Integer> spiral = new LinkedList<>();
int k = 0;
while (k < m*n) {
int i = top;
int j = left;
for (; j <= right; j++) {
spiral.add(matrix[i][j]);
k++;
}
i++; j--;
for (; i <= bottom; i++) {
spiral.add(matrix[i][j]);
k++;
}
i--; j--;
for (; j >= left; j--) {
spiral.add(matrix[i][j]);
k++;
}
i--; j++;
for (; i > top; i--) {
spiral.add(matrix[i][j]);
k++;
}
top++;
left++;
bottom--;
right--;
}
return spiral;
}
public static void main(String[] args) {
int[][] mat = {
{2},
{3}
};
List<Integer> spiral = spiralOrder(mat);
for (Integer num: spiral)
System.out.printf("%d ", num);
System.out.println();
}
}
[[2,3]] 这个 case 本地得到是[2,3]。
leetcode 给的结果是
Input: [[2,3]]
Output:[2,3,2]
Expected:[2,3]
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.