JAVA实现顺时针打印矩阵问题(《剑指offer》)
题目描述
import java.util.ArrayList;
public class Solution {public ArrayList<Integer> printMatrix(int [][] matrix) {if (matrix == null)return null;ArrayList<Integer> result = new ArrayList<Integer>();int start = 0;while(matrix[0].length > start *2 && matrix.length > start *2){printMatrixInCircle(matrix,result,start);start++;}return result;}public static void printMatrixInCircle(int [][]matix,ArrayList<Integer>result,int start){int endX = matix[0].length - start -1;int endY = matix.length - start -1;//从左向右打印一行for(int i = start;i <=endX;i++){result.add(matix[start][i]);}//从上到下for(int i = start+1; i <=endY;i++)result.add(matix[i][endX]);//从右到左if(start < endX &&start < endY)for(int i = endX -1;i>= start;i--)result.add(matix[endY][i]);//从下到上if(start < endX && start < endY-1)for(int i = endY - 1;i >=start+1;i--)result.add(matix[i][start]);}
}
JAVA实现顺时针打印矩阵问题(《剑指offer》)相关推荐
- java程序输出88的0 1矩阵_《剑指Offer》Java实现--顺时针打印矩阵
题目描述 输入一个矩阵,按照从外向里顺时针的顺序打印出每一个数字.测试用例如下图: 测试数组 思路分析 这道题目并不难,关键在于边界控制!每一层遍历均从左上角开始,逐层往里完成遍历. Java代码实现 ...
- JAVA实现重建二叉树(《剑指offer》)
最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...
- JAVA实现替换空格(《剑指offer》)
最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...
- java输出链表的值_[剑指offer] 从尾到头打印链表(三种方法) java
一.每次把新遍历的链表值放到list索引为0的位置,实现逆序. public class Solution { public ArrayList printListFromTailToHead(Lis ...
- 【LeetCode笔记】240. 搜索二维矩阵II 剑指 Offer 04 二维数组中的查找(Java、指针)
文章目录 题目描述 思路 & 代码 更新版 题目描述 两道题一样的 有序 + 搜索,明摆着二分查找 但是比较懒-选取了题解里的指针做法= = 思路 & 代码 时间复杂度O(m + n) ...
- java 6面骰子_《剑指offer》 面试题43 n个骰子的点数 (java)
引言:写这篇文章的初衷只是想做个笔记,因为这道题代码量有点大,有点抽象,而书上并没有详细的注释.为了加深印象和便于下次复习,做个记录. 原题:把n个骰子扔到地上,所有骰子朝上一面的点数之后为s. 输入 ...
- java剪绳子_14. 剪绳子(剑指 Offer 题解Java版)
本文转载自[微信公众号:五角钱的程序员,ID:xianglin965]经微信公众号授权转载,如需转载与原文作者联系 文章目录 14. 剪绳子1. 题目链接2.题目描述3.解题思路3.1贪心3.2动态规 ...
- java 判断二叉树是否平衡_剑指Offer - 判断二叉树是否是平衡二叉树
平衡二叉树的条件:为空或者子树高度之差的绝对值小于等于1,且子树也是平衡二叉树 最直接的做法,遍历每个结点,借助一个获取树深度的递归函数,根据该结点的左右子树高度差判断是否平衡,然后递归地对左右子树进 ...
- 【剑指offer】【leetcode精选题集】【Java】剑指offer题解合集 更新中
Leetcode题集 [剑指offer][JAVA]面试题第[03]题[数组中的重复数字][HashSet] [剑指offer][JAVA]面试题第[04]题[二维数中的查找][数组] [剑指offe ...
最新文章
- 为什么多数企业选择托管SD-WAN,而不是自行组建?—Vecloud微云
- AI搜索外星人 发现宇宙深处72神秘光
- [密码学] 消息认证码基础
- 软件如何控制硬件、编译器和操作系统是否需要编译
- 你今天怎么这么好看——基于深度学习的大型现场实时美颜
- 数据库视频(一)——整体认识
- 【转】首次敏捷项目开发实践
- 美丽的数学家:如果您讨厌数学,这些其实都是人生故事
- linux服务器进程不存在,查看 Linux 服务器的进程
- 计算机中的类型,计算机中各种件文的类型及其作用.doc
- 这个黑科技耳机方便又时尚,听歌也不怕坐过
- 《.NET应用架构设计:原则、模式与实践》新书博客-2.1.1-设计原则简述
- nlp基础—9.条件随机场模型(CRF算法)
- viser 饼图修改颜色
- python豆瓣历史评分_python快速查豆瓣评分
- 论人类不平等起源读后感
- Arduino与Proteus仿真实例-HC-SRF04超声波测距仿真
- iOS报错 之 The app delegate must implement the window property if it wants to use
- web service 优缺点
- 协众信息技术全能UI设计培训
热门文章
- 解决Mac下npm权限问题
- SpringMVC异常处理机制详解[附带源码分析]
- IDEA 出现 updating indices 卡进度条问题的解决方案并加快索引速度
- 缓存一致性和跨服务器查询的数据异构解决方案canal
- 解决UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 问题(转)
- 如何让Git克隆到当前目录
- 如何在现有的ul中添加li?
- Python之初识模块之序列化模块
- CentOS 6.5的安装详解
- grafana3.1.0安装配置