Leetcode1030.距離順序排列矩陣單元格(簡單--廣度優(yōu)先搜索)

題目描述:

給出RC 列的矩陣颂碧,其中的單元格的整數(shù)坐標(biāo)為 (r, c)锄蹂,滿足 0 <= r < R0 <= c < C蜓肆。
另外贷屎,我們在該矩陣中給出了一個坐標(biāo)為(r0, c0) 的單元格。
返回矩陣中的所有單元格的坐標(biāo)蹲缠,并按到(r0, c0)的距離從最小到最大的順序排棺克,其中,兩單元格(r1, c1)(r2, c2)之間的距離是曼哈頓距離线定,|r1 - r2| + |c1 - c2|娜谊。(你可以按任何滿足此條件的順序返回答案。)

示例1:

輸入:R = 1, C = 2, r0 = 0, c0 = 0
輸出:[[0,0],[0,1]]
解釋:從 (r0, c0) 到其他單元格的距離為:[0,1]

示例2:

輸入:R = 2, C = 2, r0 = 0, c0 = 1
輸出:[[0,1],[0,0],[1,1],[1,0]]
解釋:從 (r0, c0) 到其他單元格的距離為:[0,1,1,2]
[[0,1],[1,1],[0,0],[1,0]] 也會被視作正確答案斤讥。

示例3:

輸入:R = 2, C = 3, r0 = 1, c0 = 2
輸出:[[1,2],[0,2],[1,1],[0,1],[1,0],[0,0]]
解釋:從 (r0, c0) 到其他單元格的距離為:[0,1,1,2,2,3]
其他滿足題目要求的答案也會被視為正確纱皆,例如 [[1,2],[1,1],[0,2],[1,0],[0,1],[0,0]]。

提示:

1 <= R <= 100
1 <= C <= 100
0 <= r0 < R
0 <= c0 < C

解答思路1

構(gòu)建距離單元格全排列芭商,利用內(nèi)置排序函數(shù)按照距離進(jìn)行排序派草。

class Solution(object):
    def allCellsDistOrder(self, R, C, r0, c0):
        """
        :type R: int
        :type C: int
        :type r0: int
        :type c0: int
        :rtype: List[List[int]]
        """
        result = []
        for i in range(R):
            for j in range(C):
                result.append([i,j])
        result.sort(key=lambda x:abs(x[0]-r0) + abs(x[1]-c0))
        return result
解答思路2

利用廣度優(yōu)先搜索算法

class Solution(object):
    def allCellsDistOrder(self, R, C, r0, c0):
        """
        :type R: int
        :type C: int
        :type r0: int
        :type c0: int
        :rtype: List[List[int]]
        """
        # 廣度優(yōu)先搜索算法
        dx = [1, -1, 0, 0]
        dy = [0, 0, -1, 1]
        
        res = [[r0, c0]]
        queue = res[:]
        visited = [[0 for i in range(101)] for j in range(101)]  # 這里利用了提示中行列的限制
        visited[r0][c0] = 1
        while(queue):
            next_queue = list()
            for node in queue:
                x0, y0 = node[0], node[1]
                
                for k in range(4):
                    x = x0 + dx[k]
                    y = y0 + dy[k]
                    
                    if x < 0 or x >=R or y<0 or y>=C:
                        continue
                    if visited[x][y] == 1:
                        continue
                    
                    res.append([x,y])
                    visited[x][y] = 1
                    next_queue.append([x,y])
            queue = next_queue[:]
            
        return res
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市铛楣,隨后出現(xiàn)的幾起案子近迁,更是在濱河造成了極大的恐慌,老刑警劉巖簸州,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鉴竭,死亡現(xiàn)場離奇詭異,居然都是意外死亡岸浑,警方通過查閱死者的電腦和手機(jī)搏存,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矢洲,“玉大人璧眠,你說我怎么就攤上這事。” “怎么了蛆橡?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長掘譬。 經(jīng)常有香客問我泰演,道長,這世上最難降的妖魔是什么葱轩? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任睦焕,我火速辦了婚禮,結(jié)果婚禮上靴拱,老公的妹妹穿的比我還像新娘垃喊。我一直安慰自己,他們只是感情好袜炕,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布本谜。 她就那樣靜靜地躺著,像睡著了一般偎窘。 火紅的嫁衣襯著肌膚如雪乌助。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天陌知,我揣著相機(jī)與錄音他托,去河邊找鬼。 笑死仆葡,一個胖子當(dāng)著我的面吹牛赏参,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播沿盅,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼把篓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嗡呼?” 一聲冷哼從身側(cè)響起纸俭,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎南窗,沒想到半個月后揍很,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡万伤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年窒悔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片敌买。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡简珠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情聋庵,我是刑警寧澤膘融,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站祭玉,受9級特大地震影響氧映,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜脱货,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一岛都、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧振峻,春花似錦臼疫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至哈打,卻和暖如春塔逃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背料仗。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工湾盗, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人立轧。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓格粪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親氛改。 傳聞我的和親對象是個殘疾皇子帐萎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容