面试:数组:旋转矩阵
来源:互联网 发布:java process destroy 编辑:程序博客网 时间:2024/05/17 08:36
题目
给第一个m*n的矩阵,按螺旋顺序返回所有元素
算法
越界的判断方法
import java.util.*;public class Solution{ public ArrayList<Integer> spiralOrder(int[][] matrix){ ArrayList<Integer> result=new ArrayList<Integer>(); if(matrix.length==0) return result; int beginX=0,endX=matrix[0].length-1; //水平方向 int beginY=0,endY=matrix.length-1; // 垂直方向 while(true){ //外从左到右 for(int i=beginX;i<endX;++i) result.add(matrix[beginY][i]); //从上到下 for(int i=beginY;i<endY;++i) result.add(matrix[i][endX]); if(beginX>--endY) break; //从右到做 for(int i=endY;i>=beginX;--i) result.add(matrix[endY][i]); if(beginY>--endY) break; //判断数组越界 //从下到上 for(int i=endY;i>=beginY;--i) result.add(matrix[i][beginX]); if(++beginX>endX) break; } return result; }}
0 0
- 面试:数组:旋转矩阵
- 程序员面试经典--旋转矩阵
- 面试:数组:旋转数组搜索
- 面试:数组:矩阵清零
- 矩阵旋转-二维数组指针
- 常见面试算法之旋转打印矩阵
- 面试:数组:旋转数组的最小值
- 面试训练旋转数组的最小元素
- leetcode:Rotate Image (旋转矩阵)【面试算法题】
- 经典算法面试题目-矩阵旋转90度(1.6)
- 剑指offer 面试8 旋转数组的最小数组
- 面试_java:数组:旋转数组:rotate array(189)
- 旋转矩阵
- 矩阵旋转
- 旋转矩阵
- 旋转矩阵
- 旋转矩阵
- 旋转矩阵
- Python读取ini文件、操作mysql、发送邮件实例
- 用ClipDrawable实现音频录制是的麦克风分贝效果
- Android 循环自动滚动广告
- 合并静态库 就是.a文件
- Java+Netbeans
- 面试:数组:旋转矩阵
- 关于document.cookie的使用
- qrencode 库 的引入
- Android 自动更新 替代友盟自动更新
- Git初识
- STM32串口DMA容易忽视的问题
- iOS学习之—— UICollectionViewFlowLayout
- java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结
- android intent