Mxn is asked to return a vector <vector <int >> array, the array elements of 0 to mxn -1, requires arranged along oblique lines, as shown below
[0156]
[24710]
[38 911]
class Solution { public: vector<vector<int> > print_rectangle(int m,int n) { vector<vector<int>> ret(m,vector<int>(n)); int val = 0; int i = 0; int j = 0; int flag = 0; while(0<=i && i<m && 0<=j && j<n) { if(flag == 0) { while(0<=i && j<n) { ret[i][j] = val; val++; i--; j++; } i--; j++; (j == n-1)?i++:j++; } else { while(i<m && 0<=j) { entitled [i] [j] = val; val ++; i ++; j--; } I ++; j--; (i == m-1)? j ++ i ++; } Flag = 1 flag; } Return right; } };