招行笔试 4.17
第一题,
给出矩阵(上-下-上-下的写入数组)
要求输出第 i 行 j 列的值
这道题
感觉很简单,但为啥通过率就是30%!!
怎么想也想不通
这是我的代码,有没有大神帮看看😥
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] s1 = in.nextLine().split(" ");
int n = Integer.valueOf(s1[0]); //行
int m = Integer.valueOf(s1[1]); //列
int[][] juzhen = new int[n][m]; //构建矩阵
int tmp = 1;
int up = 0;
int down = n-1;
for(int i = 1;i<=n;i++){
//奇次,从开头
if(i%2!=0){
for(int j = 0;j<m;j++){
juzhen[up][j] = tmp;
tmp++;
}
up++;
}
//偶数,结尾
else{
for(int j = 0;j<m;j++){
juzhen[down][j] = tmp;
tmp++;
}
down--;
}
}
System.out.println(Arrays.deepToString(juzhen));
int num = Integer.valueOf(in.nextLine()); //次数
int[] res = new int[num];
for(int i = 0;i<num;i++){
String[] s = in.nextLine().split(" ");
int ii = Integer.valueOf(s[0]);
int jj = Integer.valueOf(s[1]);
res[i] = juzhen[ii-1][jj-1];
}
for(int i = 0;i<res.length;i++){
System.out.println(res[i]);
}
}

查看16道真题和解析