由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - LeetCode: Spiral PrintMatrix
相关主题
leetcode的run time error顺时针打印MxN矩阵的简洁递归解法
为什么大家那么喜欢做leetcode?Storm8 onsite,面经update。顺便求室友。
Maximal Rectangle O(mn) 解法 非 histogram斜线打印矩阵
Leetcode上Two sum只能过3个case, VS能过,大牛进来看看是怎么回事Google的bar真心高啊
permuation sequence 超时这个题咋做?
Question about Leetcode: Maximum rectangleTwo old questions
请教leetcode里quicksort的code包子求助:全是1的vector英语叫什么? (转载)
求顺时针打印矩阵codeG家电面砸了,面经
相关话题的讨论汇总
话题: right话题: int话题: left话题: matrix话题: output
进入JobHunting版参与讨论
1 (共1页)
d****n
发帖数: 233
1
这道题直接打印总是容易出错, 用状态机就简单多了。
class Solution {
public:
enum Direct{
Right,
Down,
Left,
Up
};
void print(const vector > &matrix, int top, int bottom, int
left, int right, Direct dir, vector & output){
if (top > bottom || left > right) return;
switch(dir) {
case Right:
for(int i = left; i <= right; i++)
output.push_back(matrix[top][i]);
print(matrix, top+1, bottom, left, right, Down, output);
break;
case Down:
for(int i = top; i <= bottom; i++)
output.push_back(matrix[i][right]);
print(matrix, top, bottom, left, right-1, Left, output);
break;
case Left:
for(int i = right; i >= left; i--)
output.push_back(matrix[bottom][i]);
print(matrix, top, bottom-1, left, right, Up, output);
break;
case Up:
for(int i = bottom; i >= top; i--)
output.push_back(matrix[i][left]);
print(matrix, top, bottom, left + 1, right, Right, output);
break;
}
}
vector spiralOrder(vector > &matrix) {
vector output;
int M = matrix.size();
if (M < 1) return output;
int N = matrix[0].size();
print(matrix, 0,M-1, 0, N-1, Right, output);
return output;
}
};
K***s
发帖数: 621
2
直接打也还好
有个规律,横竖两个方向每打印一次,所需要打印的数目都会减1
所以搞个loop就行

int

【在 d****n 的大作中提到】
: 这道题直接打印总是容易出错, 用状态机就简单多了。
: class Solution {
: public:
: enum Direct{
: Right,
: Down,
: Left,
: Up
: };
: void print(const vector > &matrix, int top, int bottom, int

d****n
发帖数: 233
3
关键是直接打很容易弄错, 要不你share一下你的code?

【在 K***s 的大作中提到】
: 直接打也还好
: 有个规律,横竖两个方向每打印一次,所需要打印的数目都会减1
: 所以搞个loop就行
:
: int

1 (共1页)
进入JobHunting版参与讨论
相关主题
G家电面砸了,面经permuation sequence 超时
Subset of size m ProblemQuestion about Leetcode: Maximum rectangle
请教 rotate the image请教leetcode里quicksort的code
问个 matrix 的问题 (CS)求顺时针打印矩阵code
leetcode的run time error顺时针打印MxN矩阵的简洁递归解法
为什么大家那么喜欢做leetcode?Storm8 onsite,面经update。顺便求室友。
Maximal Rectangle O(mn) 解法 非 histogram斜线打印矩阵
Leetcode上Two sum只能过3个case, VS能过,大牛进来看看是怎么回事Google的bar真心高啊
相关话题的讨论汇总
话题: right话题: int话题: left话题: matrix话题: output