图片旋转

简介: 图片旋转

题目描述

    图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时针旋转90度。

我们用一个nxm的二维数组来表示一个图片,例如下面给出一个3x4的图片的例子:

1 3 5 7
9 8 7 6
3 5 9 7
这个图片顺时针旋转90度后的图片如下:
3 9 1

5 8 3

9 7 5

7 6 7
给定初始图片,请计算旋转后的图片。
输入描述:

    输入的第一行包含两个整数nm,分别表示行数和列数。

接下来n行,每行m个整数,表示给定的图片。图片中的每个元素(像素)为一个值为0至255之间的整数(包含0和255)。
输出描述:

    输出m行n列,表示旋转后的图片

那这道题就比较简单了,旋转后的第一行对应的就是旋转前的第一列对吧,那这样很多人就会想不就是

后【i】【j】 = 前【j】【i】

得到的结果却是:

e9a48567dacf4e7cb80c8216048e34e1.png

很多人以为直接换就是了,其实不然,你会发现这样替换的话,得到的结果和每一行的次序刚好颠倒了,为什么呢,因为就是第一行第一列的值旋转后要到第一行最后一列去了;

因此应该这样替换

后【i】【j】= 前【n-1-j】【i】

得到的结果是:

0faa427009234d48836424df60f0b124.png

这样得到的结果才是正确的

好,直接上代码:

import java.util.Scanner;

public class day05 {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    //定义行和列
    int n;
    int m;
    n = scanner.nextInt();
    m = scanner.nextInt();
    //输入元素值
    int[][] image = new int[n][m];
    for(int i=0;i<n;i++) {
        for (int j = 0; j < m; j++) {
            image[i][j] = scanner.nextInt();
        }
    }
    //进行值替换
    int [][] laterImage = new int[m][n];
    for(int i=0;i<m;i++) {
        for (int j = 0; j < n; j++) {
            laterImage[i][j] = image[n-1-j][i];
        }
    }
    //打印结果
    for(int i=0;i<m;i++) {
        for (int j = 0; j < n; j++) {
            System.out.print(laterImage[i][j] + " ");
        }
        System.out.println();
    }
}

}

相关文章
|
存储 Windows
怎样格式化硬盘?四种硬盘格式化方法(含详细图文步骤)
这篇内容介绍了硬盘格式化的方法,包括为何要格式化硬盘(如快速清空数据、建立新分区、修复错误、改变文件系统类型)和四种格式化方式:1) 使用文件管理器,2) 通过磁盘管理器,3) 利用分区工具DiskGenius,4) 使用diskpart命令。在执行格式化前,务必备份重要数据,因为格式化会导致数据丢失。
|
JavaScript 前端开发 Java
如何使用这个正则表达式来验证一个字符串是否符合特定的格式要求?
如何使用这个正则表达式来验证一个字符串是否符合特定的格式要求?
|
网络协议 Java Unix
Linux操作系统
Linux和Windows均属于操作系统的范畴,和windows不同的是,他没有像Windows有图形化界面,可以鼠标点点点,Linux所有操作都是命令行操作,Linux不同于Windows,是个开源的操作系统,全世界有很多的开发者都参与到Linux的建设中。 Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。 ———————————————— 版权声明:本文为CSDN博主「苍何fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_43270074/article/d
1040 0
Linux操作系统
|
Android开发 前端开发 Windows
更换 字体
引用:http://zhidao.baidu.com/question/297919794.html .自定义字体 android Typeface使用TTF字体文件设置字体 我们可以在程序中放入ttf字体文件,在程序中使用Typeface设置字体。
1331 0
|
6天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
467 123
|
8天前
|
人工智能 定位技术 SEO
我学 GEO 第 15 天:终于知道AI GEO该如何做?
我是暴走的莉莉酱,边旅行边研究AI GEO的数字游民。专注普通人如何提升“AI可见度”——让AI在回答用户问题时准确识别、理解并推荐你。不讲玄学,只做可测、可调、可持续的GEO实践。
448 127
|
10天前
|
机器学习/深度学习 人工智能 调度
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
HappyHorse 1.1 是新一代视频生成大模型,全面升级动态表现力、角色一致性、指令遵循、视觉质感与音画协同能力。支持I2V/T2V/R2V三类生成,适配短剧、电商广告、品牌营销等场景,提供高质、流畅、可控的AI视频生产力。
764 5
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
|
2天前
|
消息中间件 存储 Kafka
Kafka 原生消息入湖能力上线!一键打通实时流与数据湖
阿里云消息队列 Kafka 版正式上线原生消息入湖能力。
221 121

热门文章

最新文章