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
    线性相关与线性无关
    linux之文件传输协议(FTP)与本地用户测试
    递归下降语法分析
    MySQL:索引
    一个基础又很重要的知识点:JDBC原理(基本案例和面试知识点)
    Tomcat的部署、虚拟主机及优化
    二叉树深度
  • 原文地址:https://www.cnblogs.com/xiagnming/p/9389911.html
Copyright © 2011-2022 走看看