旋转矩阵

    xiaoxiao2023-11-17  146

    题目:给定一个矩阵,把这个矩阵调整成顺时针旋转90度 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 打印结果: 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4 主要思想是:分圈处理

    public void Test(){ int [][]arr={{1,2,3,10},{4,5,6,11},{7,8,9,12},{13,14,15,16}}; for(int i=0,j=0;i<=arr.length-i-1 && j<=arr[0].length-j-1;i++,j++){ rotate(arr,i,j,arr.length-1-i,arr[0].length-j-1); } for(int[] i:arr){ for(int j:i){ System.out.println(j); } } } private void rotate(int[][] arr, int i, int j, int i1, int i2) { for(int k=0;k<i2-j;k++){ int temp=arr[i][k]; arr[i][k]=arr[i1-k][arr[0].length-i2-1]; arr[i1-k][arr[0].length-i2-1]=arr[i1][i2-k]; arr[i1][i2-k]=arr[i+k][i2]; arr[i+k][i2]=temp; } }
    最新回复(0)