順時針列印矩陣

2021-09-28 22:25:43 字數 1037 閱讀 6720

思路:初始時int left = 0, right = cols - 1, top = 0, bottom = rows - 1;

先從左到右,再從上到下,再從右到左(有條件,防止行向量),再從下到上遍歷(有條件,防止列向量)。最後left++;right--;top++;bottom--;;

重複進行上述4步,直到left>right || top>bottom結束程式。

#include

#include

#include

using

namespace std;

// 1 2 3 4

// 5 6 7 8

// 9 10 11 12

class

solution

;int rows = matrix.

size()

;int cols = matrix[0]

.size()

; vector<

int>res;

int left =

0, right = cols -

1, top =

0, bottom = rows -1;

while

(left <= right&&top <= bottom)

return res;}}

;int

main()

測試例子:

順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 45 6 7 89 10 11 1213 14 15 16則依次列印出數字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。這個題目 寫的並不好感覺,好多if看著就煩,就是...

順時針列印矩陣

題目 給定乙個矩陣,從外向內順時針列印矩陣中的每乙個數字。例如 給定矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 輸出應該為 分析 這道題的意思非常直觀,給人的感覺也是so easy,然而實際去做的時候會發現,如果結構劃分的不好,會出現很多的迴圈,而且包括對各種...

順時針列印矩陣

from 題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 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。網上聽說聽到包括autod...