java编写螺旋矩阵讲解_Java如何实现螺旋矩阵 Java实现螺旋矩阵代码实例

本篇文章小编给大家分享一下Java实现螺旋矩阵代码实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。

示例 1:

输入:

[

[ 1, 2, 3 ],

[ 4, 5, 6 ],

[ 7, 8, 9 ]

]

输出: [1,2,3,6,9,8,7,4,5]

示例 2:

输入:

[

[1, 2, 3, 4],

[5, 6, 7, 8],

[9,10,11,12]

]

输出: [1,2,3,4,8,12,11,10,9,5,6,7]

class Solution {

public ListspiralOrder(int[][] matrix) {

Listresult = new LinkedList<>();

if(matrix.length==0) return result;

int upBound = 0;

int rightBound = matrix[0].length-1;

int leftBound = 0;

int downBound = matrix.length-1;

while(true){

for(int i=leftBound; i<=rightBound; ++i)

result.add(matrix[upBound][i]);

if(++upBound>downBound) break;

for(int i=upBound; i<=downBound; ++i)

result.add(matrix[i][rightBound]);

if(--rightBound=leftBound; --i)

result.add(matrix[downBound][i]);

if(--downBound=upBound; --i)

result.add(matrix[i][leftBound]);

if(++leftBound>rightBound) break;

}

return result;

}

}

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

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

相关文章

Vue Axios的配置 (高仿饿了么)

export default {name: "app",components: {"v-header": header},data() {return {seller: {}};},created() {let _this this; // 让this始终代表最初this指向的对象this.axios.get(../data.json).then(function(res) {_this.seller res.data.sellercons…

PagerAdapter学习

前言: ViewGroup可以实现很多功能&#xff0c;如简单的页面导航和页面滑动等等。谷歌公司为我们提供ViewGroup的API。谷歌公司推荐我们把ViewGroup和Fragment一起使,如果一起使用的话&#xff0c;应该使用FragmentPagerAdapter和FragmentStatePagerAdapter来进行适配处理&#…

arXiv网站

arXiv 原先是由物理学家保罗金斯巴格在1991年建立的网站&#xff0c; 我们会将预稿上传到arvix作为预收录&#xff0c;因此这就是个可以证明论文原创性&#xff08;上传时间戳&#xff09;的文档收录网站。转载于:https://www.cnblogs.com/AntonioSu/p/8387324.html

加薪——爱你在心口难开

加薪——爱你在心口难开(1) &#xff08;原文刊登于《程序员》杂志07年第4期&#xff09; 刚过了春节的4月份&#xff0c;空气中到处透着躁动的味道&#xff0c;“求职”、“招聘”不断刺激着程序员们的耳鼓&#xff0c;其实大多数跳槽者如果能静下心来审视自己一下&#xf…

java线程interrupt用法_Java线程中interrupt那点事 | 学步园

1.先看一下例子程序&#xff1a;import java.io.IOException;import java.net.ServerSocket;import javax.rmi.CORBA.Tie;/**author: ZhengHaibo*web: http://blog.csdn.net/nuptboyzhb*mail: zhb931706659126.com*2014-3-16 Nanjing,njupt,China*/public class TestThread {/*…

Kotlin Native新增Objective-C互操作能力以及对WebAssembly的支持

根据JetBrains技术主管Nikolay Igotti的介绍&#xff0c;Kotlin/Native 0.4已经可用于为iOS和macOS开发原生应用。此外该版本还为WebAssembly平台提供了实验性支持。 \\Kotlin/Native对iOS/macOS开发的支持&#xff0c;关键在于实现了与Objective-C的互操作性。JetBrains目前已…

TranslateAnimation动画

众所周知&#xff0c;TranslateAnimation是android中重要的一个动画函数&#xff0c;很多时候我们都需要使用它来实现更好的UI效果&#xff0c;今天就简单研究下这个TranslateAnimation。TranslateAnimation这个位移动画主要有三个构造函数&#xff0c;对应着三种不同的参数形式…

maven项目使用jacoco插件检测代码覆盖率详细配置

使用maven构建项目&#xff08;java项目或者web项目都可以&#xff09; jacoco插件的配置参考官方网址&#xff1a;http://www.eclemma.org/jacoco/trunk/doc/maven.html &#xff08;1&#xff09;配置jacoco的依赖jar包 <dependency><groupId>org.jacoco</gro…

JAVA如何取得空list成员类型_String 类型的List作为一个成员变量保存,保存成功后取对象时报空指针...

异常&#xff1a;Caused by: java.lang.NullPointerException at org.litepal.crud.DataHandler.setToModelByReflection(DataHandler.java:1341) at org.litepal.crud.DataHandler.setGenericValueToModel(DataHandler.java:787) at org.litepal.crud.DataHandler.query(DataH…

C语言:几种字符输入函数的区别

几种字符输入函数的区别&#xff1a; 1、getche()函数:用于从键盘读入一个字符并显示&#xff0c;然后直接执行下一条语 句。2、getch()函数:用于从键盘中读入一个字符&#xff0c;但不显示在屏幕上&#xff0c;然后执行下一条语句。3、getchar()函数&#xff1a;用于从键盘读…

VCG Mesh刚性旋转(变换矩阵)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 旋转矩阵如果从线性空间的角度来看,它类似于一个投影过程。假设坐标 P ( x 1 , y 1 , z 1 ) P(x_1,y_1,z_1)

薪水增长多少,新机会才值得考虑?

薪水增长多少,新机会才值得考虑? 阴历年马上就要来到&#xff0c;猪年正在向我们招手。相信有些朋友年后考虑新的要作机会&#xff0c;年终奖和第13个薪水已到手&#xff0c;是考虑一下离开这个让自己不“爽”公司的时候了&#xff0c;哈哈&#xff01; 但是&#xff0c;薪水…

ScaleAnimation动画

ScaleAnimation动画是用来进行缩放的动画&#xff0c;我在使用时刚开始有些不解的问题后来经过学习&#xff0c;有了一个更深的了解。先来看看源码&#xff0c;其实ScaleAnimation有四个构造函数&#xff0c;这里我只列出了其中的一个&#xff0c;因为另外的三个其实都只是这个…

Swift快速入门(一)第一个Swift程序

1. 本系列说明 本系列只是一个Swift快速入门的教程&#xff0c;并没有详尽的介绍Swift&#xff0c;Swift也并不是一个简单的编程语言&#xff0c;所以要想详尽的系统的学习Swift&#xff0c;本系列并不适合你&#xff0c;此系列只是让开发者可以快速的用Swift来进行开发。另外学…

java 判断数字变化增减_java String 强化操作 判断数字 字符串转阿拉伯数字,相似度等等...

importjava.io.BufferedReader;importjava.io.StringReader;importjava.util.ArrayList;importjava.util.List;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/***author*/public classStrings {/*** 全角转半角**paramsbc 全角字符*returnString*/public stat…

[CareerCup] 4.7 Lowest Common Ancestor of a Binary Search Tree 二叉树的最小共同父节点

4.7 Design an algorithm and write code to find the first common ancestor of two nodes in a binary tree. Avoid storing additional nodes in a data structure. NOTE: This is not necessarily a binary search tree. LeetCode上的原题&#xff0c;请参见我之前的博客Lo…

让猎头雨天送伞--大话猎头

让猎头雨天送伞--大话猎头(1) Arthur毕业之后&#xff0c;在一同家公司的研发部工作了7年&#xff0c;从初级开发工程师一直做到项目经理&#xff0c;过手十几个大项目&#xff0c;现在带领8人的研发团队。猎头最近频频与他沟通&#xff0c;希望他考虑几个外企研发主管的机会…

android布局的一些知识

(一)android:layout_alignParentBottom 控制该组件是否与布局容器底端对齐android:layout_alignParentLeft 控制该组件是否与布局容器左边对齐android:layout_alignParentRight 控制该组件是否与布局容器右边对齐android:layout_alignParentTop 控制该组件是否与布局容器顶端对…

IE8兼容问题总结---trim()方法

1.IE8不支持,jquery的trim()去空格的方法 错误表现 : 会报错,对象不支持此属性或方法; 解决办法 : 使用正则匹配空格 例如 : /^\s|\s$/greplace(/^\s|\s$/g,"");转载于:https://www.cnblogs.com/lizhiwei8/p/8392589.html

java的流套接_java-使用流关闭套接字

我的以下问题非常简单.这是我的代码&#xff1a;public class Protocol implements Runnable {private SSLSocket socket null;private InputStream is null;private OutputStream os null;...public Protocol(Socket s) {socket (SSLSocket)s;is socket.getInputStream()…