您的位置:首页 > 其它

Leetcode Spiral Matrix II

2016-12-24 15:50 561 查看
题意:输出旋转递增矩阵。

思路:简单模拟,注意边界条件。

class Solution {
public:
vector<vector<int> > re;
int l;
vector<vector<int>> generateMatrix(int n) {
l = n - 1;
vector<int> temp(n, 0);
for(int i = 0; i < n; ++ i) re.push_back(temp);
int s = 1;
for(int i = 0; i < ceil(n / 2.0); i ++) {
s = sprial(s, i, n - 2 * i);
}

return re;

}
int sprial(int s,int n, int len) {
if(len == 1) {
re

= s;
return ++ s;
}

for(int i = n; i < l - n; i ++) {
re
[i] = s;
s ++;
}

for(int i = n; i < l - n; ++ i) {
re[i][l - n] = s;
s ++;
}
for(int i = l - n; i > n; -- i) {
re[l - n][i] = s;
s ++;
}
for(int i = l - n; i > n; -- i) {
re[i]
= s;
s ++;
}
return s;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode