(小白書學習筆記) 蛇形填數(矩陣)

2021-06-22 23:49:08 字數 746 閱讀 2958

題目: 在n*n方陣裡填入 1,2,3,... n*n,要求填寫成蛇形,例如 n=4時的方陣為:

10  11  12  1

9   16  13  2

8   15  14  3

7    6     5  4     從1開始順時針劃一圈,,大家就會發現是個蛇形的樣子

lrj 的解法是,我們從1開始,假設有一支「 筆」,它的座標為(x,y),那麼,將這個

蛇形矩陣放在乙個二維陣列中,下表從0到n-1, 那麼開始的時候,筆的座標為(0,n-1)

然後是(1,n-1),然後是(2,n-1)...一直到走到陣列越界為止,陣列越界的條件是什麼呢?只要滿足 y+1>=n的時候,我們就說陣列越界了,其實道理很簡單,y的取值是從

[ 0, n-1 ],當y = n-1的時候,我們就可以發現這只筆已經走到了最下面的位置,再加1的話就等於n,所以不能再向下移動這只筆了。。。

思量類似,我們同樣可以推斷出,

往左走的終止條件是 x-1< 0

往上走的終止條件是 y-1< 0

往右走的終止條件是 y+1>=n

接下來就是從外層往內層 依次模擬就能得到我能想要得到的結果,而且,我們不難發現,當我們將n = 4時,實際上就是產生了乙個n*n 數表。為1,2,3,4...到n

故,每次模擬的過程實際上就是乙個邊長為n的正方形逐漸 變成邊長為n-1,n-2,。。。知道最後變成乙個數字的過程,

稍後章節附上兩種常見的蛇形矩陣,,乙個是從外層向內層模擬,另乙個是從內層向外層模擬

花書學習筆記 雜記

關於貝葉斯學派和頻率學派的問題 每次提到貝葉斯學派和頻率學派的不同之處時,人們都會使用這個例子 給定資料集xda ta x xd ata 如果我們想要確定某乙個引數 theta 頻率學派的做法是arg max mathop limits theta argmax 也就是說 認為 theta 是乙個確...

紫書學習筆記(1)

這幾天雜七雜八的事情太多,再加上進入了考試周,所以很難有時間安安靜靜的敲敲 看看書,寫寫部落格了。最近寫了一些oj的題目,但是寫到這個份上,發現有些做不動了。因為自己沒有很系統的看過一些演算法競賽書,所以很多時候時間複雜度和空間複雜度都控制不好,所以就想寫一寫前段時間買的劉汝佳的紫書,也就是 演算法...

西瓜書 學習筆記 (1)緒論

個人自學筆記,內容摘自原書 個人理解,不一定正確,若有誤,歡迎指出。機器學習的定義 假設用p來評估電腦程式在某任務類t上的效能,若乙個程式通過利用經驗e在任務t中獲得了效能改善,則我們就說關於t和p,該程式對e進行了學習。mitchell,1997 通俗地說,機器學習即是通過學習演算法,從經驗 資料...