7 順時針列印矩陣
0 引言
題目:輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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.
1 抽象問題具體化
列印順序為:
1)最外圈,一直到最裡圈,一圈一圈地列印;
2)最外圈的列印順序為:左上角到右上角,右上角到右下角,右下角到左下角,左下角到左上角
2 具體問題抽象分析
(1)外迴圈:圈子在往裡邊縮,需要直到圈子的四個邊界值,分別是:
最外圈為第0圈:橫座標範圍是(0,m-1),縱座標範圍是(0,n-1)
裡邊的圈子為:已知當前為第p圈,橫座標(p,n-1-p),縱座標範圍是(p,m-1-p)
(2)內迴圈:圈子從(p,p)點開始,一直列印到(m-1-p,n-1-p)
(3)考慮特殊情況:
1)m = 0,n = 0,返回空;
2)
3 demo
4 程式碼優化
相關推薦
7 順時針列印矩陣
0 引言 題目:輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下4 X 4矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 , 則依次打印出數字
順時針列印矩陣 java
順時針列印矩陣 java 題目描述 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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
【劍指Offer】15順時針列印矩陣
題目描述 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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. 時間限制:
[劍指offer] --20.順時針列印矩陣
題目描述 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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. p
【Python資料結構與演算法】【劍指offer】順時針列印矩陣
題目描述與連結: https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a?tpId=13&tqId=11172&tPage=1&rp=1&ru=/ta/coding-intervi
劍指Offer(29):順時針列印矩陣
題目 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每個數字,例如,如果輸入如下矩陣: 則依次打印出陣列:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。 思路 將結果存放在vector 陣列中,從左到右,再從
[劍指offer]順時針列印矩陣
調了兩三小時,從通過11%的案例,到60%,再到80%,再到100% 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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,1
劍指 Offer - 19:順時針列印矩陣
題目描述 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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,
劍指offer——(17)順時針列印矩陣
學資料結構的時候有做過一道類似的題目,不一樣的是當時的二維陣列規定是正方形,而這裡是矩形,然後我就不會了。。 演算法圖示(4x3矩陣): ac程式碼(java): import java.util.ArrayList; public class Solut
劍指Offer19:順時針列印矩陣
思路: 可以模擬魔方逆時針旋轉的方法,一直做取出第一行的操作 例如 1 2 3 4 5 6 7 8 9 輸出並刪除第一行後,再進行一次逆時針旋轉,就變成: 6 9 5 8 4 7 繼續重複上述操作即可。 # -*- coding:utf-8 -
劍指offer_第19題_順時針列印矩陣_Python
題目描述 輸入一個矩陣 按照從外向裡以順時針的順序依次打印出每一個數字 例如,如果輸入如下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
LeetCode54 順時針列印矩陣
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order. Example 1: Input: [ [ 1, 2, 3 ], [ 4,
順時針列印矩陣
輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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. 思
劍指offer-19:順時針列印矩陣
題目描述 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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. 程
劍指offer之順時針列印矩陣
題目描述 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下4 X 4矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次打印出數字
劍指offer-順時針列印矩陣(陣列)
題目描述 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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.  
劍指offer——19.順時針列印矩陣
題目描述: 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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
【劍指offer{19-22}】順時針列印矩陣、包含min函式的棧、棧的壓入彈出序列、從上往下列印二叉樹
順時針列印矩陣、包含min函式的棧、棧的壓入彈出序列、從上往下列印二叉樹 順時針列印矩陣 題目描述 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下4 X 4矩陣:
順時針列印矩陣並輸出
import cProfile def printMatrix(matrix): result=[] while matrix: result.append(matrix
順時針列印矩陣(牛客網)
題目描述 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下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,