前几天,在别人博客上见到一个面试题,就看看吧:
要求打印出:
int i=5;
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
int i=6
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11
上午没事就试了一下,还好,单层循环,效率还好吧;
贴出来和兄弟们共享一下啦~~~
package com.pdsu.zhang;
public class Interview_MartixPrint {
/**
* @param args
* @author zhangli
*
* @param layer 每层的数组长宽
* @param arr 递归的层数
*/
static int len=1;
static void get(int layer ,int[][] arr){
int width =arr.length-2*layer; // 每层的数组长宽
int i=layer,j=layer; // 每层的起点坐标
int flag=1; // 旋转标记
int end=width*2+2*(width-2); // 每层的个数
for (int k=0; k<=end; k++) {
if(flag==1) {
arr[i][j]=len;
j++;
if(j==arr.length-layer){
j--;
flag=2;
}
}
if(flag==2) {
arr[i][j]=len;
i++;
if(i==arr.length-layer)
{
i--;
flag=3;
}
}
if(flag==3) {
arr[i][j]=len;
j--;
if(j==-1+layer)
{
j++;
flag=4;
}
}
if(flag==4) {
if(i==layer)
{
get2(layer+1,arr);
}else{
arr[i][j]=len;
i--;
}
}
len++;
if(len>arr.length*arr.length)
break;
}
}
static void toString(int[][] arr){
for (int[] o : arr) {
for (int t : o) {
System.out.print(t+" ");
for(int k=0;k < (int)Math.log10(arr.length*arr.length)-(int)Math.log10(t);k++)
System.out.print(" ");
}
System.out.println();
}
}
public static void main(String[] args) {
int num=20;
int[][] arr=new int[num][num];
get(0 ,arr);
toString(arr);
}
}
欢迎指正,
如有更好方法,就说说呗
分享到:
相关推荐
【标题】:“07-08年深圳易宝面试题”揭示了早期互联网企业在招聘过程中对技术人才的要求和考察重点。深圳易宝作为一家在互联网金融领域具有一定影响力的公司,其面试题目的分析可以帮助我们理解当时的行业趋势和...
JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...
云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备...
Java面试题,汇总了市面各个大公司的面试题,很好的复习面试资源! Java面试题,汇总了市面各个大公司的面试题,很好的复习面试资源! Java面试题,汇总了市面各个大公司的面试题,很好的复习面试资源! Java面试题...
java面试题大全包括很多家公司的面试题
本压缩包包含了一系列由IT资深专家单兴华整理的最新各大公司企业的真实Java面试题,旨在帮助求职者提升自己的技术水平和面试准备。 首先,我们来看"java练习题2.doc",这可能是针对基础语法和编程技巧的练习,涵盖...
2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、java面试题及答案 9、java面试题编程篇 10、Oracle面试题 11、Oracle企业面试...
企业公司软件测试面试笔试题集合 软件测试面试题 (测试基础).doc 01_企业面试试卷(综合).doc 01_企业面试试卷(综合)_参考答案.doc 04_企业面试试卷(测试基础).doc 04_企业面试试卷(测试基础)_参考答案.doc...
大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...
java高级软件工程师面试题大全及答,一些公司的面试题,对于正在找工作应对面试的朋友或许有点帮助。java高级软件工程师面试题大全及答,一些公司的面试题,对于正在找工作应对面试的朋友或许有点帮助
2022java面试题、JVM面试题、多线程面试题、并发编程、Redis面试题、MySQL面试题、Java2022面试题、Netty面试题、Elasticsearch面试题、Tomcat面试题、Dubbo面试题、Kafka面试题、Linux面试题、2021面试题、java面试...
文件中包含了本人最近在网上总结的面试题,有java面试题,jq面试题,jsp、servlet、ajax面试题,mysql面试题,oracle面试题,redis教案,也有最近时间总结的公司面试题,涉及的层面虽然不是很多,但是应对面试 应该...
2023年最新版--Java+最常见的+200++面试题汇总+答案总结汇总 阿里百度美团面试题合集 大数据面试题 100道 多线程面试59题(含答案) 最新JAVA面试题总结之基础/框架/数据库/JavaWeb/Redis BIO,NIO,AIO,Netty面试题 ...
Java面试题,J2EE面试题,.net面试题,PHP面试题,数据库面试题,英语面试,外企面试,软件测试面试题,Python面试题,Oracle面试题,MySql面试题,Web开发面试题,Unix面试题,程序员面试,网络技术面试题,网络安全面试题,Linux...
【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】...
(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题...
金蝶公司面试题及试题简答 金蝶公司面试题及试题简答涵盖了多个IT相关领域的知识点,包括Java基础、XML、数据库、软件设计模式、EJB等。 首先,让我们来看一下Java基础部分。在Java基础部分中,提到了Integer和...
现在五块钱的付出,将来收获的可能是一份心仪的offer,干货满满,建议下载。...友情提示:本套面试题包括面试题900题+公司实战面试题400问,面试题已经整理好答案,公司题由于新收录没有答案,但非常有参考价值。
深圳-东方伟业笔试部分.doc 深圳-华为C++.doc 深圳-华为Oracle数据库基础知识 ISSUE1.0.doc 深圳-华为SQL总结.doc 深圳-瑞科.doc 没有全部列出,希望能给正在或正准备找工作的朋友带来帮助,也祝愿各位能早日找到...
【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题...