Spiral_Matrix

https://leetcode-cn.com/problems/spiral-matrix/

//当行数只有一行:
1、 n = 1;
m -> 0; //当列数只有一列
2、m = 1;
n -> 0; //行数为 n, 列数为m
3、 。。。。。。
。。。。。。
。。。。。。
。。。。。。
1) 第一次
x, y
y = 0; x : 0 -> m-1;
x = m-1; y : 0 -> n-1;
y = n-1; x : m -> 0;
x = 0; y : n -> 1 2) 第二次
y = 1; x : 0 -> m -2;
x = m-2; y : 1 -> n - 2;
y = n -2; x:m -1 -> 1;
x = m-2; y : n-1 -> 2 ...以此类推

代码

class Solution {
public List<Integer> spiralOrder(int[][] matrix) {
ArrayList<Integer> list = new ArrayList<Integer>(); if (matrix == null || matrix.length == 0) {
return null;
}
int n = matrix[0].length;
int m = matrix.length; int x = 0, y = 0;
int i, j;
while (n > 0 && m > 0) { if (n == 1) {
for (int k = 0; k < m; k++) {
list.add(matrix[k][0]);
}
return list;
} if (m == 1) {
for (int k = 0; k < n; k++) {
list.add(matrix[0][k]);
}
return list;
}
i = x;
j = y;
for (; i < n; i++) {
list.add(matrix[j][i]);
}
i --;
j ++;
for (; j < m; j++) {
list.add(matrix[j][i]);
}
i --;
j --;
for(; i >= x ; i--) {
list.add(matrix[j][i]);
}
j--;
i++;
for(; j >= y + 1; j--) {
list.add(matrix[j][i]);
}
x++;
y++;
m--;
n--;
}
return list;
}
}

  

Leetcode53_Spiral_Matrix的更多相关文章

随机推荐

  1. React 创建一个自动跟新时间的组件

    componentDidMount声明周期函数 表示组件渲染完成后 componentWillUnmount声明周期函数 组件将要卸载 通常用于(为了防止内存泄漏 清除定时器) 11==>创建组 ...

  2. UVA 503 Parallelepiped walk

    https://vjudge.net/problem/UVA-503 题目 给出一个长方体和长方体上两点的坐标,求两点的沿着长方体表面走的最小距离 题解 沿着表面走就是在展开图上面走,如果分类讨论就需 ...

  3. Sigma Function (LightOJ - 1336)【简单数论】【算术基本定理】【思维】

    Sigma Function (LightOJ - 1336)[简单数论][算术基本定理][思维] 标签: 入门讲座题解 数论 题目描述 Sigma function is an interestin ...

  4. ENDGAME

    "So if I were to wrap this up tight with a bow or whatever,I guess I'd say my career of OI was ...

  5. SQL查询--内连接、外连接、自连接查询

    先创建2个表:学生表和教师表   1.内连接: 在每个表中找出符合条件的共有记录.[x inner join y on...] 第一种写法:只用where SELECT t.TEACHER_NAME, ...

  6. bzoj3293 分金币

    题目链接 problem 圆桌上坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一些金币,最终使 得每个人的金币数目相等.你的任务是求出被转手的金币数量的最小值. so ...

  7. 在windows环境下部署nuxt项目(线上发布部署)

    因为公司项目需要兼容SEO,同时我们也一直希望能够真正的实现前后端分离,于是毫不犹豫的选择了nuxt. 话说要重构前后端分离真是一个大工程,由于各种原因我们团队花了近两年时间都没有完成,最近才又重启把 ...

  8. windows7 php 环境架设

    参考 https://www.jb51.net/article/38048.htm   常见问题解决方案     https://blog.csdn.net/w_yunlong/article/det ...

  9. python-pandas读取mongodb、读取csv文件

    续上一篇博客(‘’selenium爬取NBA并将数据存储到MongoDB‘)https://www.cnblogs.com/lutt/p/10810581.html 本篇的内容是将存储到mongo的数 ...

  10. swoole4创建Mysql连接池

    一 .什么是mysql连接池 场景:每秒同时有1000个并发,但是这个mysql同时只能处理400个连接,mysql会宕机.   解决方案:连接池,这个连接池建立了200个和mysql的连接,这100 ...