構(gòu)建數(shù)組

網(wǎng)上的tx面試題:輸入n当叭,輸出方陣:
n=5時(shí)如下:

0   0   0   0   5   
0   0   0   6   4   
0   0   7   14  3
0   8   15  13  2
9   10  11  12  1

n=3時(shí)如下:

0   0   3
0   4   2
5   6   1

代碼:

package main

import (
    "fmt"
)

func main() {
    /*
       輸入n,輸出方陣塔猾,
       n=6時(shí)如下
       0   0   0   0   0   6
       0   0   0   0   7   5
       0   0   0   8   18  4
       0   0   9   19  17  3
       0   10  20  21  16  2
       11  12  13  14  15  1
       n=3時(shí)如下
       0   0   3
       0   4   2
       5   6   1
    */
    n := 6
    res := getres(n)
    for i := 0; i < len(res); i++ {
        fmt.Println(res[i])
    }
}

func getres(n int) [][]int {
    matrix := make([][]int, n)
    for i := 0; i < n; i++ {
        matrix[i] = make([]int, n)
    }
    direction := 0
    idx := 1
    left := 0
    right := n - 1

    low := 0
    high := n - 1

    final := n * (n + 1) / 2
    fmt.Println(final)
    for idx <= final {
        switch direction % 3 {
        case 0: //下->上
            for i := high; i >= low; i-- {
                matrix[i][right] = idx
                idx += 1
            }
            right -= 1
            low += 1
        case 1: //右上->左下
            for i, j := low, right; i <= high && j >= left; i, j = i+1, j-1 {
                matrix[i][j] = idx
                idx += 1
            }
            low += 1
            left += 1
        case 2: //左->右
            for j := left; j <= right; j++ {
                matrix[high][j] = idx
                idx += 1
            }
            high -= 1
            left += 1
        }
        direction += 1
    }
    return matrix
}

output:

[0  0   0  0  0  6]
[0  0   0  0  7  5]
[0  0   0  8  18 4]
[0  0   9  19 17 3]
[0  10  20 21 16 2]
[11 12  13 14 15 1]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末届案,一起剝皮案震驚了整個(gè)濱河市笼蛛,隨后出現(xiàn)的幾起案子啼肩,更是在濱河造成了極大的恐慌,老刑警劉巖翎迁,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異净薛,居然都是意外死亡汪榔,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門肃拜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來痴腌,“玉大人,你說我怎么就攤上這事燃领∈看希” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵猛蔽,是天一觀的道長剥悟。 經(jīng)常有香客問我,道長曼库,這世上最難降的妖魔是什么懦胞? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮凉泄,結(jié)果婚禮上躏尉,老公的妹妹穿的比我還像新娘。我一直安慰自己后众,他們只是感情好胀糜,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蒂誉,像睡著了一般教藻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上右锨,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天括堤,我揣著相機(jī)與錄音,去河邊找鬼绍移。 笑死悄窃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蹂窖。 我是一名探鬼主播轧抗,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼瞬测!你這毒婦竟也來了横媚?” 一聲冷哼從身側(cè)響起纠炮,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灯蝴,沒想到半個(gè)月后恢口,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡穷躁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年耕肩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片折砸。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖沙峻,靈堂內(nèi)的尸體忽然破棺而出睦授,到底是詐尸還是另有隱情,我是刑警寧澤摔寨,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布去枷,位于F島的核電站,受9級(jí)特大地震影響是复,放射性物質(zhì)發(fā)生泄漏删顶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一淑廊、第九天 我趴在偏房一處隱蔽的房頂上張望逗余。 院中可真熱鬧,春花似錦季惩、人聲如沸录粱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啥繁。三九已至,卻和暖如春青抛,著一層夾襖步出監(jiān)牢的瞬間旗闽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國打工蜜另, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留适室,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓举瑰,卻偏偏與公主長得像亭病,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嘶居,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361