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;
        }
    }
    
  • 相关阅读:
    每日日报7月15日
    每日日报7月14日
    ecplise下 java问题处理
    Visual Studio Code for .Net Framework
    Go语言操作MySQL数据库
    Go语言Gin-4中间件
    Go语言Gin-2.数据传输
    Go语言Gin-1.路由
    13.Go语言-并发编程
    12.Go语言-网络编程
  • 原文地址:https://www.cnblogs.com/xiagnming/p/9389911.html
Copyright © 2011-2022 走看看