题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
又成功拉低了AC率:通过比例:6.67 %
作为剑指offer AC率最低的题之一,该题的难度不在于于思路,打印谁都会,而在于细节处理与各种异常判断的处理,
特别是循环的时重复打印问题的处理,和循环次数为关键。
实现代码如下:
#pragma once
#include <vector>
using namespace std;
namespace clockwise_matrix
{
class Solution {
public:
vector<int> printMatrix(vector<vector<int> > matrix)
{
vector<int> ret;
if (matrix.size() == 0)
return ret;
_row = matrix.size();
if (_row > 0)
_col = matrix[0].size();
int min = _col < _row ? _col : _row;
int max = min == (min / 2) * 2 ? (min / 2) :