【LeetCode】463. 島嶼的周長(Island Perimeter)的解題思路

題目如下:

給定一個包含 0 和 1 的二維網(wǎng)格地圖蜘拉,其中 1 表示陸地 0 表示水域嘹裂。

網(wǎng)格中的格子水平和垂直方向相連(對角線方向不相連)市框。整個網(wǎng)格被水完全包圍,但其中恰好有一個島嶼(或者說佑笋,一個或多個表示陸地的格子相連組成的島嶼)翼闹。

島嶼中沒有“湖”(“湖” 指水域在島嶼內(nèi)部且不和島嶼周圍的水相連)。格子是邊長為 1 的正方形允青。網(wǎng)格為長方形橄碾,且寬度和高度均不超過 100 卵沉。計(jì)算這個島嶼的周長。

示例 :

輸入:
[[0,1,0,0],
[1,1,1,0],
[0,1,0,0],
[1,1,0,0]]

輸出: 16

解釋: 它的周長是下面圖片中的 16 個黃色的邊:

解題思路如下:

剛拿到這道題時法牲,好長時間一籌莫展史汗,最后是看了別人的答案才慢慢把思路給捋順的;

整體思路是先加后減拒垃,只要遍歷到陸地就加 4停撞,同時上和左有陸地接壤時再減去 2;

也看到有人的解題思路是每次判斷當(dāng)前陸地的上下左右 4 個方向上是否有陸地悼瓮,有一塊陸地減 1戈毒,有兩塊陸地減 2,有三塊陸地減 3横堡,有四塊陸地減 4埋市;

不過這個思路不如上一個思路優(yōu)秀,這個每次要判斷 4 次命贴,上一個思路道宅,每次只用判斷 2 次(上和左兩個方向);

把第一個思路細(xì)分一下胸蛛,步驟如下:

  1. 遍歷每一個方格污茵,遇到陸地就加 4;
  2. 同時葬项,如果當(dāng)前陸地的上方也是陸地泞当,則從結(jié)果中減去 2;
  3. 同時民珍,如果當(dāng)前陸地的左邊也是陸地襟士,則從結(jié)果中減去2;

然后是代碼:

class Solution {
    public int islandPerimeter(int[][] grid) {
        if (grid == null || grid.length == 0) {
            return 0;
        }
        int result = 0;
        for (int i = 0; i < grid.length; i++) {
            for (int j = 0; j < grid[i].length; j++) {
                if (grid[i][j] == 1) {
                    //遍歷時遇到陸地穷缤,先給結(jié)果加 4
                    result += 4;
                    if (i > 0 && grid[i - 1][j] == 1) {
                        //如果當(dāng)前陸地的上邊也有陸地敌蜂,剛這兩塊陸地因?yàn)榻尤缆崾蓿瑥慕Y(jié)果中減去各自的一條邊
                        result -= 2;
                    }
                    if (j > 0 && grid[i][j - 1] == 1) {
                        //如果當(dāng)前陸地的左側(cè)也有一塊陸地津肛,則這兩塊陸地因?yàn)榻尤溃瑥慕Y(jié)果中減去各自的一條邊
                        result -= 2;
                    }

                }
            }
        }
        return result;
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末汗贫,一起剝皮案震驚了整個濱河市身坐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌落包,老刑警劉巖部蛇,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異咐蝇,居然都是意外死亡涯鲁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抹腿,“玉大人岛请,你說我怎么就攤上這事【ǎ” “怎么了崇败?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長肩祥。 經(jīng)常有香客問我后室,道長,這世上最難降的妖魔是什么混狠? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任岸霹,我火速辦了婚禮,結(jié)果婚禮上将饺,老公的妹妹穿的比我還像新娘松申。我一直安慰自己,他們只是感情好俯逾,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布贸桶。 她就那樣靜靜地躺著,像睡著了一般桌肴。 火紅的嫁衣襯著肌膚如雪皇筛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天坠七,我揣著相機(jī)與錄音水醋,去河邊找鬼。 笑死彪置,一個胖子當(dāng)著我的面吹牛拄踪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拳魁,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼惶桐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了潘懊?” 一聲冷哼從身側(cè)響起姚糊,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎授舟,沒想到半個月后救恨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡释树,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年肠槽,在試婚紗的時候發(fā)現(xiàn)自己被綠了擎淤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡秸仙,死狀恐怖揉燃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情筋栋,我是刑警寧澤炊汤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站弊攘,受9級特大地震影響抢腐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜襟交,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一迈倍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捣域,春花似錦啼染、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贞言,卻和暖如春斜棚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背该窗。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工弟蚀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人酗失。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓义钉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親规肴。 傳聞我的和親對象是個殘疾皇子捶闸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

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

  • 一個人害怕被攻擊鉴嗤,是因?yàn)樽约合牍魟e人;一個人容易內(nèi)疚序调,也是因?yàn)樾睦锊刂鴱?qiáng)烈的攻擊性。所以要好好擁抱攻擊性兔簇,覺知攻...
    王朋彥閱讀 200評論 0 0
  • 《古城墻.老人.琴聲》 古老的城墻 有千年斑駁歷史了吧 彈琴的老人 須發(fā)皆白己過八旬 城磚是一只只眼睛 凝視著世代...
    無一扈文瑞閱讀 439評論 3 2
  • 【連載】日系風(fēng)軟科幻故事《全典時代》目錄 “你們是伊尹大學(xué)的學(xué)生发绢,那你們能進(jìn)入生物基因?qū)嶒?yàn)室么硬耍?” “你怎么知道?...
  • 先說句玩笑話边酒,新媒體经柴,這個概念比較新,我也是研究過一點(diǎn)點(diǎn)覺得要跟大家普及一下才寫這篇文章墩朦,不喜勿噴哦坯认。。氓涣。 其實(shí)”...
    冬麗傳奇閱讀 435評論 0 0
  • 它曾是孤寂里的一只麒麟神獸劳吠,卻唯獨(dú)戀上了我這窮酸秀才引润。 夢境真是個神奇的地方,它總給我一種微妙的暗示痒玩,在去的路上淳附。...
    三毛先生閱讀 187評論 2 2