zoukankan      html  css  js  c++  java
  • 打印zigzag矩阵

    比较愚蠢但是很好理解的一种方法

    public static void printZigzag (int n){
    		int[][] arr = new int[n][];
    		//动态创建数组 并初始化
    		for (int i = 0; i < arr.length; i ++)
    		{
    			arr[i] = new int[n];
    			Arrays.fill(arr[i], 0);
    		}
    		
    		int num = 0, flag = 0;
    		int row = 0, col = 0;
    		//处理 左上三角阵
    		for (row = 0; row < arr.length; row ++)
    		{
    			col = 0;
    			// 偶数行
    			if(row%2==0){
    				num = row*(row+1)/2;
    				flag=1;
    			}
    			// 奇数行
    			if(row%2==1)
    			{
    				num = row*(row+1)/2 + row;
    				flag=-1;
    			}
    			for(int i = 0; i < row+1; i++)
    			{
    				arr[row-i][col+i] = num + i*flag;
    			}
    			
    		}
    		
    		// 同理 处理右下三角阵
    		for (row = 0; row < arr.length - 1; row ++)
    		{
    			int newRow = n-1-row;
    			int newCol = n-1;
    			
    			//偶数行
    			if(row%2==0){
    				num = n*n-1 - (row*(row+1)/2);
    				flag = -1;
    			}
    			//奇数行
    			if(row%2==1){
    				num = n*n-1 - (row*(row+1)/2) - row;
    				flag = 1;
    			}
    			
    			for(int i = 0; i < row+1; i++)
    			{
    				arr[newRow+i][newCol-i] = num + i*flag;
    			}
    		}
    		
    		
    		
    		for (int[] a : arr) {
    			for (int i : a) {
    				System.out.printf("%3d", i);
    			}
    			System.out.println();
    		}
    		
    	}
    

      

  • 相关阅读:
    使用python写天气预告
    beef配合ettercap批量劫持内网的浏览器
    html布局
    python 使用paramiko模块上传本地文件到ssh
    mysql一些函数的记录
    python与ssh交互
    html笔记4
    html笔记3
    html笔记2
    html笔记1
  • 原文地址:https://www.cnblogs.com/OliverZhang/p/6479303.html
Copyright © 2011-2022 走看看