【算法】順時針打印矩陣(圖文詳解,代碼詳細注釋

目錄

題目

代碼如下:


題目

輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數字。例如:如果輸入如下矩陣:

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

這一道題乍一看,沒有包含任何復雜的數據結構和高級算法,似乎蠻簡單的。但是你一旦深入分析,就發現這個過程還是挺復雜的,并沒有表面看起來那么簡單呢。接下來我會用畫圖的方法來幫助大家理解這個問題。

首先我們可以把矩陣看成由若干個順時針方向的圈的組成,如下圖所示:

我們可以用一個循環來打印矩陣?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/715688.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/715688.shtml
英文地址,請注明出處:http://en.pswp.cn/news/715688.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Doris實戰——美聯物業數倉

目錄 一、背景 1.1 企業背景 1.2 面臨的問題 二、早期架構 三、新數倉架構 3.1 技術選型 3.2 運行架構 3.2.1 數據模型 縱向分域 橫向分層 數據同步策略 3.2.2 數據同步策略 增量策略 全量策略 四、應用實踐 4.1 業務模型 4.2 具體應用 五、實踐經驗 5.1 數據…

代碼隨想錄算法訓練營|day45

第九章 動態規劃 322.零錢兌換279.完全平方數代碼隨想錄文章詳解總結 322.零錢兌換 dp[i]表示湊成i所需的最少零錢個數 (1)先遍歷物品,后遍歷背包 func coinChange(coins []int, amount int) int {maxAmount : amount 1dp : make([]int, amount1)for i : 0; i &l…

下載github項目到pycharm

一、下載git 1.下載git鏈接 https://git-scm.com/ 2.一路點擊next,最后finish 二、使用git 1.安裝成功后在開始菜單欄會找到如下內容,其中常用的是Git Bash 2.點擊Git Bash 3.這里就可以克隆github上的代碼了 點擊復制,在命令行輸入…

C#判斷DataTable1 A列的集合是否為DataTable2 B列的集合的子集

DataSet ds2 (DataSet)res2.Anything; // 檢查 集合B是否為集合A的子集 var table1MaterialCodes ds.Tables[2].AsEnumerable().Select(row > row["Code"]).ToList(); //DataSet1 表Code列集合A var table2MaterialCodes ds2.Tables[0].AsEnumerable().Selec…

2024免費mac蘋果電腦的清理和維護軟件CleanMyMac X

對于 Mac 用戶來說,電腦的清理和維護是一件讓人頭疼的事情。但是,有了 CleanMyMac X,這一切都將變得輕松愉快。CleanMyMac X 是一款專為 Mac 設計的電腦清理軟件,它以其強大的功能和簡單的操作,讓無數用戶為之傾倒。 C…

艾爾登法環備份存檔方法

1.PC端使用WinR輸入%AppData%\EldenRing 2.如圖創建文件夾“我這取名叫備份存檔”,將其中的三個文件復制到新建的文件夾中 3.理論上只需要備份替換ER0000.sl2文件即可

【雙指針】合并兩個有序數組O(N)

合并兩個有序數組 鏈接 . - 力扣(LeetCode). - 備戰技術面試?力扣提供海量技術面試資源,幫助你高效提升編程技能,輕松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/merge-sorted-array/ 題目 題解 采用雙指針…

青少年CTF擂臺挑戰賽 2024 #Round 1 Web方向題解 WP 全

EasyMD5 題目描述:php沒有難題 考點總結:腦洞題目,不如我出(狗頭 只允許兩個都上傳pdf文件。 文件還不能太大了。burp多次發包發現要求兩個pdf內容不一樣 不一樣時候,提示我們MD5碰撞。 科學計數法繞過 PHP的后門 …

把Anaconda添加進環境變量的方法(解決pip識別不到環境的問題)

找到你的Anaconda的安裝根目錄 比如我的是在:C:\ProgramData\Anaconda3 那么只需要將以下目錄添加進環境變量即可: C:\ProgramData\Anaconda3C:\ProgramData\Anaconda3\ScriptsC:\ProgramData\Anaconda3\Library\binC:\ProgramData\Anaconda3\condabin…

吳恩達deeplearning.ai:通過偏差與方差進行診斷

以下內容有任何不理解可以翻看我之前的博客哦:吳恩達deeplearning.ai專欄 文章目錄 偏差與方差高偏差高方差合適的模型理解偏差與方差 總結 當你構建神經網絡的時候,幾乎沒有人能夠在一開始就將神經系統構建得十分完美。因此構建神經網絡最重要的是直到…

Vue2實現tab切換

Vue2實現tab切換 以下代碼實現了一個tab切換的功能&#xff0c;點擊不同的tab會切換到對應的內容&#xff0c;并且選中的tab文字帶下劃線&#xff0c;下劃線寬度比文字寬度短&#xff0c;并且與文字居中。 <template><div><div class"tabs"><…

慣性傳感器的傾角計算

慣性傳感器單元 IMU IMU 是 Inertial Measurement Unit 的縮寫, 直接翻譯過來就是慣性測量單元, 常見的有單獨的三軸加速度(Accelerometer)計 ADXL345, L3G4200D, L3GD20等, 單獨的三軸角速度計(又稱陀螺儀, Gyroscope) LIS3DH, L3GD20H, BMG160, 以及包含了加速度計和陀螺儀的…

Qt 簡約又簡單的加載動畫 第七季 音量柱風格

今天和大家分享兩個音量柱風格的加載動畫,這次的加載動畫的最大特點就是簡單,只有幾行代碼. 效果如下: 一共三個文件,可以直接編譯運行 //main.cpp #include "LoadingAnimWidget.h" #include <QApplication> #include <QGridLayout> int main(int argc…

尋找峰值[中等]

優質博文IT-BLOG-CN 一、題目 峰值元素是指其值嚴格大于左右相鄰值的元素。給你一個整數數組nums&#xff0c;找到峰值元素并返回其索引。數組可能包含多個峰值&#xff0c;在這種情況下&#xff0c;返回 任何一個峰值 所在位置即可。 你可以假設nums[-1] nums[n] -∞。 你…

python統計分析——泊松回歸

參考資料&#xff1a;用python動手學統計學 概率分布為泊松分布、聯系函數為對數函數的廣義線性模型叫作泊松回歸。解釋變量可以有多個&#xff0c;連續型和分類型的解釋變量也可以同時存在。 1、案例說明 分析不同氣溫與啤酒銷量的關系。構造不同氣溫下的銷量的數學模型&…

Java之美[從菜鳥到高手演變]之Json類型數據的處理

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。 易于人閱讀和編寫。同時也易于機器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。 JSON采用完全獨立于語言的文本格式&#xff0c;但是也使…

Unity--自動版面(Horizontal Layout Croup)||Unity--自動版面(Vertical Layout Group)

Unity--自動版面&#xff08;Horizontal Layout Croup&#xff09; Horizontal Layout Croup&#xff1a; “水平布局組”組件將其子布局元素并排放置。它們的寬度由各自的最小&#xff0c;首選和靈活的寬度決定&#xff0c;具體取決于以下模型&#xff1a; 所有子布局元素的…

el-form里面表單遍歷渲染,里面放el-row,一行放3個表單怎么實現

需求&#xff1a; 需要實現 el-form里面的表單遍歷渲染&#xff0c;里面放el-row,一行放3個表單怎么實現&#xff1f; 廢話不多說直接上demo <el-form ref"form" :model"form" label-width"80px"><el-row v-for"(row, index) in M…

服務器硬件基礎知識全解析

在信息技術日新月異的今天&#xff0c;服務器作為數據處理和存儲的核心&#xff0c;其重要性不言而喻。了解服務器硬件基礎知識&#xff0c;對于IT從業者以及廣大技術愛好者來說&#xff0c;都是不可或缺的技能。本文將詳細解析服務器硬件的基礎知識&#xff0c;幫助讀者建立起…

BUGKU bp

打開環境&#xff0c;他提示了弱密碼top1000&#xff0c;隨便輸入密碼123抓包爆破 發現長度都一樣&#xff0c;看一下響應發現一段js代碼&#xff0c;若r值為{code: bugku10000}&#xff0c;則會返回錯誤&#xff0c;通過這一句“window.location.href success.php?coder.cod…