当前位置: 首页 > news >正文

java 旋转方阵

    public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// N阶方阵int n = scanner.nextInt();// 构建方阵List<List<Integer>> matrix = new ArrayList<>();for (int i = 0; i < n; i++) {List<Integer> row = new ArrayList<>();for (int j = 0; j < n; j++) {row.add(i * n + j + 1);}matrix.add(row);}// 打印方阵数据print(matrix);// 旋转M次int m = scanner.nextInt();// 旋转方阵matrix = rotate(matrix, m % 4);  // 旋转4次等于不旋转// 打印旋转后的方阵print(matrix);}static void print(List<List<Integer>> matrix) {for (List<Integer> row : matrix) {for (Integer integer : row) {System.out.print(integer + " ");}System.out.println();}}static List<List<Integer>> rotate(List<List<Integer>> matrix, int m) {// todo 参数校验异常处理if(m == 0){return matrix;}List<List<Integer>> result = new ArrayList<>();int size = matrix.size();// 旋转方阵90度for (int i = 0; i < size; i++) {List<Integer> row = new ArrayList<>();for (int j = 0; j < size; j++) {row.add(matrix.get(size - j - 1).get(i));}result.add(row);}return rotate(result, m - 1);}

运行
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 【C++面向对象】13. 接口 / 抽象类*
  • C#几种截取字符串的方法
  • cmmlu数据处理
  • 《持续交付:发布可靠软件的系统方法》 - 目录
  • Windows内的Ubuntu虚拟机安装docker
  • Django路由层之有名分组和无名分组、反向解析、路由分发、伪静态的概念、名称空间、虚拟环境、Django1和Django2的区别
  • 国内领先的五大API接口供应商
  • 【golang】探索for-range遍历实现原理(slice、map、channel)
  • python科研绘图:圆环图
  • 程序员的绝望和欢笑:当拼写错误搞乱了我的代码
  • 前端设计模式之【代理模式】
  • 【Java 进阶篇】JQuery 遍历 —— For 循环的奇妙之旅
  • react hook ts 实现 列表的滚动分页加载,多参数混合混合搜索
  • ctf之流量分析学习
  • 沉浸式航天vr科普馆VR太空主题馆展示
  • 【Amaple教程】5. 插件
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Angular Elements 及其运作原理
  • cookie和session
  • Protobuf3语言指南
  • V4L2视频输入框架概述
  • 如何胜任知名企业的商业数据分析师?
  • 进程与线程(三)——进程/线程间通信
  • 组复制官方翻译九、Group Replication Technical Details
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (poj1.2.1)1970(筛选法模拟)
  • (二十四)Flask之flask-session组件
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (全注解开发)学习Spring-MVC的第三天
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (转)Scala的“=”符号简介
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .jks文件(JAVA KeyStore)
  • .NET Core 中插件式开发实现
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • @EnableConfigurationProperties注解使用
  • @property @synthesize @dynamic 及相关属性作用探究
  • @SuppressWarnings(unchecked)代码的作用
  • [2010-8-30]
  • [autojs]逍遥模拟器和vscode对接
  • [BJDCTF2020]The mystery of ip
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [HJ73 计算日期到天数转换]
  • [HUBUCTF 2022 新生赛]
  • [iOS]中字体样式设置 API
  • [JS]数据类型
  • [MySQL]SQL优化之索引的使用规则