LintCode-剑指Offer-(381)数倒置
来源:互联网 发布:centos 伪文件系统 编辑:程序博客网 时间:2024/06/03 09:13
vector<vector<int>> generateMatrix(const int n) { // Write your code here bool **IsVisited; IsVisited = new bool*[n]; vector<vector<int>> v; if (n==0)return v; for (int i = 0;i<n;i++){ v.push_back(vector<int>()); } for (int i = 0; i<n; i++) { IsVisited[i] = new bool[n]; } for (int i = 0; i<n; i++) { for (int j = 0; j<n; j++) { IsVisited[i][j] = false; v[i].push_back(0); } } int dx[4] = {1,0,-1,0}; int dy[4] = {0,1,0,-1}; int dxyloc = 0; int ii = 0; int jj = 0; int tmpval = 1; while (true) { if (ii==-1||jj==-1||ii==n||jj==n||IsVisited[ii][jj]==true){ ii = ii-dy[dxyloc]; jj = jj-dx[dxyloc]; dxyloc = (dxyloc+1)%4; if (IsVisited[ii+dy[dxyloc]][jj+dx[dxyloc]]==true){ return v; } } else{ v[ii][jj] = tmpval; IsVisited[ii][jj] = true; tmpval++; } ii = ii+dy[dxyloc]; jj = jj+dx[dxyloc]; } }};
0 0
- LintCode-剑指Offer-(381)数倒置
- LintCode-剑指Offer-(4)丑数
- LintCode-剑指Offer-(82)落单的数
- LintCode-剑指Offer-(56)两数之和
- LintCode-剑指Offer-(83)落单的数 II
- LintCode-剑指Offer-斐波拉契
- LintCode-剑指Offer-空格替换
- LintCode-剑指Offer-(245)子树
- LintCode-剑指Offer-(3)统计数字
- LintCode-剑指Offer-翻转链表
- LintCode-剑指Offer-(204)单例
- LintCode-剑指Offer-(111)爬楼梯
- LintCode-剑指Offer-(373)奇偶分割数组
- LintCode-剑指Offer-(140)快速幂
- LintCode-剑指Offer-(374)螺旋矩阵
- LintCode-剑指Offer-(46)主元素
- LintCode-剑指Offer-(41)最大子数组
- LintCode-剑指Offer-(53)翻转字符串
- 练习5 面向对象基础(含答案)
- kruskal算法的验证
- 稀疏矩阵的十字链表示
- mysql中select 5种子句之having
- 第九周项目4-广义表算法库及应用
- LintCode-剑指Offer-(381)数倒置
- 二叉树排序树中查找的路径
- 站长们没必要过度关注关键词排名
- Dijkstra算法的验证
- 第十三周项目2—Kruskal算法的验证
- 第十二周 利用遍历思想求解图问题(判断是否有简单路径)
- 【第14周—查找项目1-2——验证分块查找算法】
- 数据库的事务及变量声明方法
- (第十二周项目5)迷宫问题之图深度优先遍历解法