LeetCode 605.種花問題

題目

假設你有一個很長的花壇肚豺,一部分地塊種植了花,另一部分卻沒有党瓮。可是盐类,花卉不能種植在相鄰的地塊上寞奸,它們會爭奪水源,兩者都會死去在跳。

給定一個花壇(表示為一個數(shù)組包含0和1枪萄,其中0表示沒種植花,1表示種植了花)猫妙,和一個數(shù) n 瓷翻。能否在不打破種植規(guī)則的情況下種入 n 朵花?能則返回True割坠,不能則返回False齐帚。

注意:

  1. 數(shù)組內(nèi)已種好的花不會違反種植規(guī)則。
  2. 輸入的數(shù)組長度范圍為 [1, 20000]彼哼。
  3. n 是非負整數(shù)对妄,且不會超過輸入數(shù)組的大小。

思路

典型的貪心算法敢朱。

遍歷一次數(shù)組剪菱,針對遍歷的不同位置做不同的判斷:

  • 如果i == 0摩瞎, 檢查flowerbed[0]flowerbed[1]是否為0
    • 若同時為0,則令flowerbed[0] = 1, n--;
  • 如果i == len - 1孝常,檢查flowerbed[len-1]flowerbed[len-2]是否為0旗们,
    • 若同時為0,則令flowerbed[len-1] = 1, n--;
  • 否則构灸,檢查flowerbed[i-1],[i],[i+1]是否為0上渴,
    • 若同時為0,則令flowerbed[i] = 1冻押,n--驰贷;

遍歷結束后,檢查n是否大于0,

  • 大于0洛巢,返回false括袒;
  • 小于等于0,返回true稿茉;

實現(xiàn)

Java

class Solution {
    public boolean canPlaceFlowers(int[] flowerbed, int n) {
        int len = flowerbed.length;
        if (len == 0) return false;
        if (len == 1) {
            if (n == 0) return true;
            else if (n == 1) return flowerbed[0] == 0;
            else return false;
        }
        for (int i = 0; i < len; i++) {
            if (i == 0) {
                if (flowerbed[i] == 0 && flowerbed[i+1] == 0) {
                    flowerbed[i] = 1;
                    n--;
                }
            }else if (i == len - 1) {
                if (flowerbed[i] == 0 && flowerbed[i-1] == 0) {
                    n--;
                    flowerbed[i] = 1;
                }
            }else {
                if (flowerbed[i] == 0 && flowerbed[i-1] == 0 && flowerbed[i+1] == 0) {
                    n--;
                    flowerbed[i] = 1;
                }
            }
        }
        return n > 0 ? false : true;
    }
}
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锹锰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子漓库,更是在濱河造成了極大的恐慌恃慧,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渺蒿,死亡現(xiàn)場離奇詭異痢士,居然都是意外死亡,警方通過查閱死者的電腦和手機茂装,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門怠蹂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人少态,你說我怎么就攤上這事城侧。” “怎么了彼妻?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵嫌佑,是天一觀的道長。 經(jīng)常有香客問我侨歉,道長屋摇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任幽邓,我火速辦了婚禮摊册,結果婚禮上,老公的妹妹穿的比我還像新娘颊艳。我一直安慰自己茅特,他們只是感情好忘分,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著白修,像睡著了一般妒峦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上兵睛,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天肯骇,我揣著相機與錄音,去河邊找鬼祖很。 笑死笛丙,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的假颇。 我是一名探鬼主播鸵赫,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼豪治,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起窘俺,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤瞳遍,失蹤者是張志新(化名)和其女友劉穎拓萌,沒想到半個月后碍沐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡激涤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年拟糕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倦踢。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡送滞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出硼一,到底是詐尸還是另有隱情累澡,我是刑警寧澤梦抢,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布般贼,位于F島的核電站,受9級特大地震影響奥吩,放射性物質(zhì)發(fā)生泄漏哼蛆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一霞赫、第九天 我趴在偏房一處隱蔽的房頂上張望腮介。 院中可真熱鬧,春花似錦端衰、人聲如沸叠洗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽灭抑。三九已至十艾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腾节,已是汗流浹背忘嫉。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留案腺,地道東北人庆冕。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像劈榨,于是被迫代替她去往敵國和親访递。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

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

  • 題目描述 假設你有一個很長的花壇鞋既,一部分地塊種植了花力九,另一部分卻沒有∫毓耄可是跌前,花卉不能種植在相鄰的地塊上,它們會爭奪...
    池魚_故淵閱讀 216評論 0 1
  • 題目描述 假設你有一個很長的花壇陡舅,一部分地塊種植了花抵乓,另一部分卻沒有“醒埽可是灾炭,花卉不能種植在相鄰的地塊上,它們會爭奪...
    wanjh閱讀 308評論 0 0
  • 605 Can Place Flowers 種花問題 Description:Suppose you have a...
    air_melt閱讀 205評論 1 0
  • 題目介紹 假設你有一個很長的花壇颅眶,一部分地塊種植了花蜈出,另一部分卻沒有√涡铮可是铡原,花卉不能種植在相鄰的地塊上,它們會爭奪...
    leeehao閱讀 118評論 0 0
  • 題目 難度:★★☆☆☆類型:數(shù)組 假設你有一個很長的花壇商叹,一部分地塊種植了花燕刻,另一部分卻沒有∑鼠希可是卵洗,花卉不能種植在...
    玖月晴閱讀 1,038評論 0 0