zoukankan      html  css  js  c++  java
  • 【Leetcode】605. Can Place Flowers

    Description

    Suppose you have a long flowerbed in which some of the plots are planted and some are not. However, flowers cannot be planted in adjacent plots - they would compete for water and both would die.

    Given a flowerbed (represented as an array containing 0 and 1, where 0 means empty and 1 means not empty), and a number n, return if n new flowers can be planted in it without violating the no-adjacent-flowers rule.

    Example 1:

    Input: flowerbed = [1,0,0,0,1], n = 1
    Output: True
    

    Example 2:

    Input: flowerbed = [1,0,0,0,1], n = 2
    Output: False
    

    Note:

    1. The input array won't violate no-adjacent-flowers rule.
    2. The input array size is in the range of [1, 20000].
    3. n is a non-negative integer which won't exceed the input array size.

    Discuss

    只需要计算出一共可以放多少个就可以了。

    Code

    class Solution {
        public boolean canPlaceFlowers(int[] flowerbed, int n) {
            int len = flowerbed.length;
            if (len < n) { return false; }
            int count = 0;
            if (len == 1 && flowerbed[0] == 0) { 
                count++; 
                return true;
            }
            for (int i = 0; i < len; i++) {
                if (i == 0) {
                    if (flowerbed[0] == 0 && flowerbed[1] == 0) {
                        count++;
                        flowerbed[0] = 1;
                    }
                    continue;
                }
                if (i == len-1) {
                    if (flowerbed[i - 1] == 0 && flowerbed[i] == 0) {
                        count++;
                    }
                    break;
                }
                if (flowerbed[i - 1] == 0 && flowerbed[i] == 0 && flowerbed[i + 1] == 0) {
                    count++;
                    flowerbed[i] = 1;
                }
            }
            return count >= n;
        }
    }
    
  • 相关阅读:
    布尔值
    字典及字典的索引
    列表及列表的索引
    python之基本数据类型
    python之变量
    一个python程序运行的三大步骤
    编程语言分类与介绍
    应用程序的启动流程
    爬虫之PyQuery的base了解
    Django:web认识,jinja2模块,如何安装Django
  • 原文地址:https://www.cnblogs.com/xiagnming/p/9389911.html
Copyright © 2011-2022 走看看