概述
AcWing:756. 蛇形矩阵
模拟
AC Code
import java.util.*;
import static java.lang.System.out;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int[][] arr = new int[n][m];
int top = 0, bottom = n - 1, left = 0, right = m - 1;
int num = 1;
while(top <= bottom && left <= right) {
// 1
for(int i = left; i <= right; i++) {
arr[top][i] = num++;
}
// 2
for(int i = top + 1; i <= bottom; i++) {
arr[i][right] = num++;
}
// 3 防止 top == bottom 的时候,将 1 步骤中的值覆盖了
for(int i = right - 1; i >= left && top < bottom; i--) {
arr[bottom][i] = num++;
}
// 4 防止 left == right 的时候, 将 2 步骤中的值覆盖了
for(int i = bottom - 1; i > top && left < right; i--) {
arr[i][left] = num++;
}
top++; bottom--;
left++; right--;
}
// 输出
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
out.print(arr[i][j] + " ");
}
out.println();
}
}
}
最后
以上就是跳跃汽车为你收集整理的756. 蛇形矩阵 ( 模拟 )的全部内容,希望文章能够帮你解决756. 蛇形矩阵 ( 模拟 )所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复