题解 | #牧场重组计划# java

牧场重组计划

https://www.nowcoder.com/practice/d62fe08f920249f5a078d49a60e31444

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param matrix int整型二维数组
     * @return int整型二维数组
     */
    public int[][] rotatePastureCounterClockwise (int[][] matrix) {
        // write code here
        int n = matrix.length;
        int m = matrix[0].length;

        // 对每一行进行反转
        for (int i = 0; i < n; i++) {
            reverse(matrix[i]);
        }

        // 进行转置操作
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < i; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }

        return matrix;
    }

    private void reverse(int[] array) {
        int left = 0;
        int right = array.length - 1;

        while (left < right) {
            int temp = array[left];
            array[left] = array[right];
            array[right] = temp;
            left++;
            right--;
        }
    }
}

Java代码

该题主要考察的知识点有:

  1. 二维数组
  2. 数组反转
  3. 数组转置

代码的文字解释:

  1. 获取二维数组的行数 n 和列数 m
  2. 对二维数组的每一行进行反转操作,使用 reverse 方法实现。
  3. 对二维数组进行转置操作,即将第 i 行和第 i 列的元素互换位置。
  4. 返回旋转后的二维数组。
全部评论

相关推荐

07-14 12:22
门头沟学院 Java
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务