我是靠谱客的博主 跳跃汽车,最近开发中收集的这篇文章主要介绍756. 蛇形矩阵 ( 模拟 ),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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. 蛇形矩阵 ( 模拟 )所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部