leetcode第一刷_Spiral Matrix II
2015-12-31 14:02
218 查看
跟上一题的策略全然一样,这个题是要求保存当前增加的是第几个数,由于矩阵里面存的就是这个东西。
我有尝试想过是不是有一种方法能够直接推算出每一行的数据是哪些。但没过多久就放弃了。这样的方法尽管能够避免在一个二维数组中的随机訪问,可是策略太复杂了,得不偿失。
我有尝试想过是不是有一种方法能够直接推算出每一行的数据是哪些。但没过多久就放弃了。这样的方法尽管能够避免在一个二维数组中的随机訪问,可是策略太复杂了,得不偿失。
class Solution { public: vector<vector<int> > generateMatrix(int n) { vector<int> tpres(n, 0); vector<vector<int> > res(n, tpres); if(n == 0) return res; int i=0, j=0, level=0, cur = 1; while(cur<=n*n){ while(j<n-level) res[i][j++] = cur++; --j; while(i<n-level-1) res[++i][j] = cur++; while(j>level) res[i][--j] = cur++; --i; while(i>level) res[i--][j] = cur++; ++j;++i; level++; } return res; } };
相关文章推荐
- PID11 / 计数的梦 这种做法 给跪了
- VS打开项目属性文件丢失问题
- 例说如何编译android模块
- 在js中对日期的加减法
- Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRID
- IOS SDK详解之拍照/相册(默认+自定义拍照界面)
- hdu 2012
- jquery+css实现菜单收缩效果并适应多种浏览器与移动平台
- C#.Net操作XML方法二
- spring框架和junit框架结合使用案例
- 内存的静态分配和动态分配的区别
- linux mysql设置开机启动
- (求解答)decoder->decode returned false
- 如何在JPA,Hibernate 和 Spring 中配置 Ehcache 缓存
- 嵌入式系统使用宏定义
- mysql相关日志汇总
- iOS - 身份证号判断
- iOS MD5 加密算法
- im资源
- 解决FileExplorer窗口变小问题