程序设计训练.pdf
文本预览下载声明
目 录
前言
计蒜客矩阵翻转(简单)
计蒜客加一
计蒜客最大子阵列
计蒜客判断日期是否符合格式
BASIC-11-十六进制转十进制
蓝桥杯校赛选拔小试题记录
BASIC-9-特殊的回文数
BASIC-10-十进制转十六进制
BASIC-12-十六进制转八进制
ALGO-1--区间k大数查询
经典递归问题集锦
ALGO-95--2的次幂表示
ALGO-2--最大最小公倍数
ALGO-92--前缀表达式 (并用正则扩展 )
ALGO-90--出现次数最多的整数
ALGO-122--未名湖边的烦恼
ALGO-91Anagrams问题
本文档使用 看云 构建 - 2 -
前言
前言
原文出处 :程序设计训练
作者 :u012706811
本系列文章经作者授权在看云整理发布 ,未经作者允许 ,请勿转载 !
程序设计训练
做一些程序设计题目,训练编程能力,申请专栏,督促自己
本文档使用 看云 构建 - 3 -
计蒜客矩阵翻转(简单)
计蒜客矩阵翻转(简单)
做这道题的过程中,了解到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++) {
本文档使用 看云 构建 - 4 -
计蒜客矩阵翻转(简单)
显示全部