99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何輸出這樣的矩陣呢?

算法與數(shù)據(jù)結(jié)構 ? 來源:小K算法 ? 作者:小K算法 ? 2022-05-13 11:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01 故事起源有這樣的一種矩陣,從左上角開始,順時針從外向里旋轉(zhuǎn),數(shù)字依次遞增,如果給定任意行n、列m,請問如何輸出這樣的矩陣呢? 45346602-d267-11ec-bce3-dac502259ad0.jpg ? ?02 分析這個問題第一眼就覺得很簡單,為啥呢,因為規(guī)律很明顯,問題描述都已經(jīng)說的很清晰了,只要按照要求模擬一遍就行了。
如果現(xiàn)在讓你把這個問題描述給其他人,你是不是也會這樣來描述:一直向前走,無路可走向右轉(zhuǎn)。。。 455742bc-d267-11ec-bce3-dac502259ad0.jpg ? ?03 模擬啥是模擬呢,模擬就是按照你的想法,機械的執(zhí)行命令就可以了,沒有啥算法可言,就像這個問題一樣。 4572a4f8-d267-11ec-bce3-dac502259ad0.jpg ?不過機器并不能聽懂你的高級語言,所以需要翻譯一下。 458b2a50-d267-11ec-bce3-dac502259ad0.jpg ?說機話
整個過程拆解為4個步驟:
從矩陣左上角開始向右直到邊界;2)向下;3)向左;4)向上。
重復上面4個步驟,直到填滿整個矩陣。
45ab891c-d267-11ec-bce3-dac502259ad0.jpg ?于是我們就得到了初步的框架:

			while(還沒填滿){  //向右直到邊界 j++;  //向下直到邊界 i++;  //向左直到邊界 j--;  //向上直到邊界  i--; }
			
									04
									細節(jié)從左向右,結(jié)束時j超出邊界,需要j--。最上一行已填滿,上邊界下移,同時i也下移。
			45cd85da-d267-11ec-bce3-dac502259ad0.jpg
			?從上向下,結(jié)束時i超出邊界,需要i--。最右一列已填滿,右邊界左移,同時j也左移。
			45eb6ece-d267-11ec-bce3-dac502259ad0.jpg
			?其余2個過程同理。
			
										05
										代碼實現(xiàn)
#defineROW5
#defineCOLUMN5
voidmain(){
intleft=0,right=COLUMN-1,top=0,bottom=ROW-1;
intf[ROW][COLUMN],i=0,j=0,num=1;
while(i>=top&&i<=?bottom?&&?j?>=left&&j<=?right)?{
????????//left->right
while(j<=?right)?{
????????????f[i][j++]?=?num++;
????????}
????????j--;
????????top++;
????????i++;
????????//top->bottom
while(i<=?bottom)?{
????????????f[i++][j]?=?num++;
????????}
????????i--;
????????right--;
????????j--;
????????//right->left
while(j>=left){
f[i][j--]=num++;
}
j++;
bottom--;
i--;
//bottom->top
while(i>=top){
f[i--][j]=num++;
}
i++;
left++;
j++;
}
}
06 總結(jié)模擬問題一般都比較簡單,只需要把整個框架過程抽象出來,然后機械的實現(xiàn)即可。但偶爾也會遇到復雜的模擬,一般都是細節(jié)涉及的比較多,比如邊界信息太多,或者過程太多等。不過這種問題很適合鍛煉代碼實現(xiàn)能力,多做就能達到“有思想就一定能實現(xiàn)”的狀態(tài)。 審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模擬
    +關注

    關注

    7

    文章

    1438

    瀏覽量

    84545
  • 矩陣
    +關注

    關注

    1

    文章

    434

    瀏覽量

    35252

原文標題:旋轉(zhuǎn)矩陣

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數(shù)據(jù)結(jié)構】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    矩陣混音技術快速入門

    A&H矩陣混音技術快速入門Live_Matrix_MixingChinese
    發(fā)表于 03-26 14:12 ?0次下載

    DAC7554如果需要同時輸出多路不同信號,該怎么實現(xiàn)?

    可以利用fpga驅(qū)動DAC7554輸出單路信號,四路單獨輸出,或者四路同時輸出同樣的信號都沒有問題 如果需要同時輸出多路不同信號,該怎么實現(xiàn)
    發(fā)表于 01-06 06:05

    ADXL1001的評估板輸出的數(shù)據(jù)怎么接收?

    ADXL1001的評估版按照連接方式連接完VCC接電源,GND接地,然后ST STB也接地,Vout應該會輸出結(jié)果,輸出的數(shù)據(jù)怎么接收,是根據(jù)電平高低來解析嗎還是什么其他的協(xié)議這樣,
    發(fā)表于 12-19 08:28

    運放的哪項參數(shù)或者什么因素會這樣影響輸出

    如下圖是一個直流電壓檢測電路,設計要求是1000V輸出3V,實際使用直流電壓一般不會超過800V,現(xiàn)在在使用過程中采集的輸出電壓在鍵盤顯示一直在上升,輸入直流電壓基本不會怎么變化,這個過程雖然可能有
    發(fā)表于 12-04 08:46

    DAC60501芯片輸出是多少?

    must be less than 0.7 V for at least 1 ms“ ”When VDD remains greater than 2.2 V, a POR does not occur”是什么意思? 設置VDD=3.3V,不對芯片進行操作,芯片輸出
    發(fā)表于 11-22 06:51

    ADS1256的輸出電路是怎樣設計的?

    對于ADS1256的輸出電路是怎樣設計的?一般ADC測試中為了提高輸出的驅(qū)動能力,防止發(fā)射和振鈴現(xiàn)象,應該怎樣進行設計輸出電路?
    發(fā)表于 11-22 06:01

    tas5612la 24v供電,只使用單通道BTL,這樣連接輸出聲音小,怎么處理?

    如圖,24v供電,只使用單通道BTL,這樣連接輸出聲音小,測OUTA對地電壓只有8--10V 因此修改,把另一個通道的電源和部分元件也接上,這樣似乎正常了,OUTA對地有12v,聲音也
    發(fā)表于 10-14 07:55

    盛顯科技:在拼接處理器上配置混合矩陣的步驟是什么?

    相信大家都知道,在拼接處理器上配置混合矩陣,主要涉及到將混合矩陣輸出與拼接處理器的輸入相連接,并通過拼接處理器的軟件或界面進行配置,以實現(xiàn)多屏顯示和視頻信號的靈活處理。在此過程中,了解并熟知拼接
    的頭像 發(fā)表于 09-26 18:09 ?627次閱讀

    MATLAB(6)--特殊矩陣

    通用的特殊矩陣 zero函數(shù):產(chǎn)生全是0矩陣,即零矩陣。 ones函數(shù):產(chǎn)生全是1矩陣,即幺矩陣。 eyes函數(shù):產(chǎn)生對角線為1的
    發(fā)表于 09-06 10:24

    MATLAB(3)--矩陣的引用(sub2ind、ind2sub、reshape函數(shù)使用)

    的序號為3。 即我們輸入的坐標(1,4),(2,5),(3,1)在矩陣A中的索引號,意思是A矩陣第1行第4個元素的索引值號為16,為什么是16?因為MATLAB是按列搜索的,先搜索第一列,然后搜索
    發(fā)表于 09-06 10:11

    MATLAB(2)--MATLAB矩陣的表示

    矩陣的建立 利用直接輸入法建立矩陣:將矩陣的元素用中括號括起來,按矩陣的順序輸入各元素,同一行的各元素之間用逗號或者空格分隔,不同的元素之間用分號分隔。 利用已建好的
    發(fā)表于 09-06 10:05

    MATLAB中的矩陣索引

    矩陣進行索引是從矩陣中選擇或修改部分元素的一種方式。MATLAB 有幾種索引樣式,它們不僅功能強大、靈活,而且可讀性強、表現(xiàn)力強。矩陣是 MATLAB 用來組織和分析數(shù)據(jù)的一個核心組件,索引是以可理解的方式有效操作
    的頭像 發(fā)表于 09-05 09:28 ?1089次閱讀
    MATLAB中的<b class='flag-5'>矩陣</b>索引

    機器人的三大矩陣是什么及關系式

    在機器人學中,三大矩陣主要指的是與機器人位移、速度和力相關的矩陣,它們分別揭示了機器人在不同空間(如關節(jié)空間和作業(yè)空間)之間的映射關系。這三大矩陣及其關系式可以概括如下: 1. T矩陣
    的頭像 發(fā)表于 09-04 09:37 ?3076次閱讀

    TL712的應用電路,輸出的波形為什么是這樣的?

    我的應用電路如下 輸出應該是TTL波形,但是我的輸出這樣的,幅度應該是5V但是沒到,而且上升沿出現(xiàn)這樣的問題
    發(fā)表于 08-30 08:01

    XLT開關矩陣

    開關矩陣 蘇州新利通 系列化開關矩陣是提高被測件測試效率、實現(xiàn)自動化測試的核心設備,是基于標準控制平臺可進行定制化設計的產(chǎn)品。系列化開關矩陣工作頻率范圍覆蓋DC~67GHz,可通過LAN、GPIB
    的頭像 發(fā)表于 08-06 17:15 ?478次閱讀
    XLT開關<b class='flag-5'>矩陣</b>