计蒜客---矩阵翻转(简单)
2015-07-20 09:26
239 查看
做这道题的过程中,了解到java的二维数组实际上就是多个一维数组的数组,所以类似下面这样的赋值是可以实现的.
public static void upturn(int d[][],int a,int b) { int[] e = new int[b]; for (int i = 0; i < a/2; i++) { e = d[i]; d[i] = d[a-i-1]; d[a-i-1] = e; } }
有了这个特性,那么矩阵翻转就变得很方便了,不过左右翻转,这个倒是没法实现
完整代码如下:
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner input = new Scanner(System.in); int a,b,c; a = input.nextInt(); b = input.nextInt(); c = input.nextInt(); int[][] d = new int[a][b]; for (int i = 0; i < a; i++) { for (int j = 0; j < b; j++) { d[i][j] = input.nextInt(); } } if(c == 1){ upturn(d, a, b); }else { leftturn(d, a, b); } for (int[] is : d) { for (int i : is) { System.out.print(i+" "); } System.out.println(); } } public static void upturn(int d[][],int a,int b) { int[] e = new int[b]; for (int i = 0; i < a/2; i++) { e = d[i]; d[i] = d[a-i-1]; d[a-i-1] = e; } } public static void leftturn(int d[][],int a,int b) { int temp; for (int i = 0; i < b/2; i++) { for (int j =0 ; j < a; j++) { temp = d[j][i]; d[j][i] = d[j][b-i-1]; d[j][b-i-1] = temp; } } } }
相关文章推荐
- live555实现共享内存视频直播
- jQuery学习之prop和attr的区别
- poj2250
- 19 Using Optimizer Hints
- 杭电1006
- 【算法】Dijkstra 求最短路径算法
- 在Django中创建URLconf相关的通用视图的方法
- android--性能提升ViewStub的使用
- Secure Delivery Center常见用例(二)
- android 经纬度 double类型 转换成 度分秒
- Linux多线程——使用信号量同步线程
- vi命令大全
- 16 SQL Tuning Overview
- 【Tech-Android-Other】Android性能优化
- LeeCode-Happy Number
- 15 sql base line 工作机制
- 【笔记】View的使用
- 错排公式及其推导
- jquery animate 的 left right top 动画失效
- 揭秘IT人才特点:中美印日四国程序员比较