java程序输出88的0 1矩阵_《剑指Offer》Java实现--顺时针打印矩阵

题目描述

输入一个矩阵,按照从外向里顺时针的顺序打印出每一个数字。测试用例如下图:

8f9d862081c3

测试数组

思路分析

这道题目并不难,关键在于边界控制!每一层遍历均从左上角开始,逐层往里完成遍历。

Java代码实现

/**

* 由外向内顺时针打印矩阵数组

* @author Administrator

* @version 2018/10/12

*/

public class Exe31_PrintMatrixClockWisely {

public static void main(String[] args) {

int[][] matrix={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16},{21,22,23,24}};

printMatrixClockWisely(matrix);

}

public static void printMatrixClockWisely(int[][] matrix) {

//参数合法性检查

if(matrix==null||matrix.length!=matrix[0].length){

throw new IllegalArgumentException();

}else {

int dimension=matrix.length;

int rowStart=0;

int colStart=0;

//分解工作,一圈一圈的打印

while(dimension>rowStart*2&&dimension>colStart*2){

printCircle(matrix, rowStart, colStart);

rowStart++;

colStart++;

}

}

}

private static void printCircle(int[][] matrix,int rowStart,int colStart) {

int dimension=matrix.length;

//从左向右打印

for(int i=colStart;i

System.out.print(matrix[rowStart][i]+" ");

}

//从上往下打印

for(int i=rowStart+1;i

System.out.print(matrix[i][dimension-rowStart-1]+" ");

}

//从右往左打印

for(int i=dimension-colStart-2;i>colStart-1;i--){

System.out.print(matrix[dimension-rowStart-1][i]+" ");

}

//从下往上打印

for(int i=dimension-rowStart-2;i>rowStart;i--){

System.out.print(matrix[i][colStart]+" ");

}

System.out.println();

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java程序表头出不来_JAVA SWING 表头不显示问题

Cats萌萌说明: JScrollPane 也是组件, 你需要把滚动面板也添加到你的布局里.由于你的布局是绝对布局setLayout(null); 那么你还需要为JScrollPane 设置大小和位置效果图参考代码1234567891011121314151617181920212223import javax.swing.*; public class FrameDemo extends JF…

php红色字体颜色,php生成文字颜色渐变 高级用法

项目描述:因为要做打印的产品价格贴,需要美观度,产品名字需要颜色渐变。这里非常感谢ThinkPHP 峰会4 里面的大神们。 [厦门]伍拾步 [上海]beyond [江苏]囧NC 【浙江】幸福 泰安sunny有兴趣的可以加入哦 群号43321338效果图展示$txt"祝群…

php 依赖注入框架,依赖注入模式(Dependency Injection)

依赖注入模式(Dependency Injection)由 学院君 创建于5年前, 最后更新于 10个月前版本号 #318333 views16 likes0 collects1、模式定义依赖注入(Dependency Injection)是控制反转(Inversion of Control)的一种实现方式。我们先来看看什么是控制反转。当调用者需要被调用者的协助…

php点加等于0,php 做数学运算时结果为0的原因

MSSQL—字符串分离(Split函数)前面提到了记录合并,有了合并需求肯定也会有分离需求,说到字符串分离,大家肯定会想到SPLIT函数,这个在.NET,Java和JS中都有函数,很可惜在SQL SERVER中没有,我们只能自己来写这么一个 ...更好的使用chromeCtrltab 在标…

php守护进程内存溢出,$serv-close($fd); 服务端主动断开客户端有问题!

core > array(reactor_num > 2, // 线程数. 一般设置为CPU核数的1-4倍worker_num > 16, // 工作进程数量. 设置为CPU的1-4倍最合理max_request > 0, // 防止 PHP 内存溢出, 一个工作进程处理 X 次任务后自动重启 (注: 0,不自动重启)max_conn > 10000, // 最大连…

apache php显示成列表,centos中设置apache显示目录列表

miniui中常用的状态显示方式1.查询sys_code表得到对应的状态 考生状态:oracle中文显示为问号在用PL/sql查询时,中文显示为问号.经查证,发现问题为oracle字符集不支持中文导致的.修改oracle字符集,改为支持中文即可. 方法: 第一步:修改注册表. 开始-运行-输入regedit- ...PHP&am…

php 反射对象属性,php面向对象之反射功能的用法详解

这篇文章主要介绍了php面向对象之反射功能与用法,结合实例形式简单分析了php5面向对象反射的概念及具体用法,需要的朋友可以参考下本文实例讲述了php面向对象之反射功能与用法。分享给大家供大家参考,具体如下:个人对反射定义的理解:首先得说…

mac php errorlog,Mac下使用php的error_log()函数发送邮件

在开发web项目或者其他场景下,有时候我们需要设置“报警”。比如当数据库的某一项指标达到某一个值时,需要通知网站管理员。今天跟大家分享一个比较简单的php报警的功能。先介绍一个php中用来记录log的一个函数error_log,它用来发送错误到某个地方。函数…

matlab 数值格式转换,Matlab字符串转换及数值格式转换

Matlab字符串转换及数值格式转换字符串转换函数abs 字符串到ASCII转换dec2hex 十进制数到十六进制字符串转换fprintf 把格式化的文本写到文件中或显示屏上hex2dec 十六进制字符串转换成十进制数hex2num 十六进制字符串转换成IEEE浮点数int2str 整数转换成字符串lower 字符串转换…

matlab算hht,关于MATLAB中HHT谱图的问题【百度知道悬赏100积分】

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼附上MATLAB内置的hht绘图函数hhtPlot.m的代码:classdef hhtPlotpropertieshfigendmethodsfunction [this] hhtPlot(insFreq, insEnergy, tvec, FRange, MinThres, FreqLoc, isNormFreq)isYAxis strcmpi(FreqLoc,yaxis…

基于matlab的彩色图像分割,彩色图像分割MATLAB

【实例简介】基于HSV彩色空间的图像分割,包含测试图片,MATLAB源程序,可以参考一下【实例截图】【核心代码】彩色图像分割└── 基于matlab的彩色图像的分割算法└── 公园与青椒的彩色图像分割├── pcnnseg│ └── PCNN彩色图像分割│…

ecshop api.php,ecshop2.72 api.php 文件鸡肋注入

/api.php.........................switch ($_POST[act]){case search_goods_list: search_goods_list(); break;//............................default: api_err(0x008, no this type api); //输出系统级错误:数据异常}.........................function search_goods_list(…

matlab 求解进度,报告测试运行进度的插件

在工作文件夹下的文件中,创建一个名为 cylinderPlotTest 的基于函数的测试。function tests cylinderPlotTesttests functiontests(localfunctions);endfunction setupOnce(testCase)testCase.TestData.Figure figure;addTeardown(testCase,close,testCase.TestD…

php 不喜欢用对象,为什么PHP不在其默认库中使用对象?

我已经用PHP编写了半年多的时间,虽然我还远没有成为一名专家,但我可以很容易地解决问题,并根据我的需要编写脚本.我来自面向对象的背景,这似乎是PHP在其默认库中使用的很少(如果有的话).我使用或创建的大多数外部库都使用面向对象的设计,而默认设置似乎使用下一个示例.我将使用…

java bit mask,【JDK源码剖析】Java数值类型的包装类

概述Java是一种强类型语言,必须为每一种变量声明一种类型.在Java中一共有8种基本类型(primitive type),其中有4中整型,2种浮点类型,1中用于表示Unicode编码的字符单元的字符类型char和一种用于真值表示的boolean类型之前曾写过几篇博文这些博文大都是在JVM或者计算机组成原理相…

_Linux 服务器存在某进程 CPU 过高如何追溯其问题根源?

问题描述:在本人运维的一个省级平台系统中,最近有用户反应系统很卡一直转圈圈. 经初步核查发现某web服务器节点存在JAVA进程cpu占比超过100%的情况。为了不影响用户使用,暂时只能采取简单粗暴的方法"重启服务器"。这其中有如下2个疑…

大数乘加运算然后取模 c++_脚本语言系列之Java | Java中的运算符

本文主要介绍java中的常见运算符,如算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符等。一、几个概念int a 3 4; 、就是操作符,是算术运算符,我们还有其他很多的运算符 3,4就是参与运算的操作数 3 4整体…

java终结者,动态语言是否会成为JAVA的终结者?

节选自《程序员》2006年第9期《茶杯里的风暴》一文,作者:金尹。如下:P2P网络向传统应用的渗透,将对Ruby、Python这些新兴的编程语言提出巨大的挑战。首先在P2P网络中单个运算节点上的程序并不需要像Web服务那样保持&am…

visio形成数据字典_入职数据产品经理第一天,同事问了我3个问题

什么是数据产品经理?数据产品经理有什么能力要求?数据产品经理的未来发展什么?文章围绕这三个问题进行陈述分析,希望看完能对你有所帮助。最近,前同事老曹跳槽到去了一家初具规模的互联网公司,作为刚入职公…

电脑硬盘内存不足怎么办_电脑内存不足怎么办?三招帮你轻松解决

熟悉PC硬件的小伙伴都知道,内存相对于电脑来说是一个相当重要的部件,内存可以说是相当于CPU的“工作室”,因为PC所有运行的程序都是在内存中运行,它决定了多少、多大的程序能即时运行,如若执行程序过大或者过多就会导致…