zoukankan      html  css  js  c++  java
  • LeetCode 605. Can Place Flowers

    原题链接在这里:https://leetcode.com/problems/can-place-flowers/

    题目:

    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.

    题解:

    当前值为0时看前一个和后一个是否同时为0, 若是就可以栽花. 注意首尾特殊情况.

    Time Complexity: O(flowerbed.length).

    Space: O(1).

    AC Java:

     1 class Solution {
     2     public boolean canPlaceFlowers(int[] flowerbed, int n) {
     3         if(flowerbed == null){
     4             throw new IllegalArgumentException("Input array is null.");
     5         }
     6         
     7         int count = 0;
     8         for(int i = 0; i<flowerbed.length && count<n; i++){
     9             if(flowerbed[i] == 0){
    10                 int pre = (i == 0) ? 0 : flowerbed[i-1];
    11                 int next = (i == flowerbed.length-1) ? 0 : flowerbed[i+1];
    12                 if(pre == 0 && next == 0){
    13                     count++;
    14                     flowerbed[i] = 1;
    15                 }
    16             }
    17         }
    18         return count == n;
    19     }
    20 }
  • 相关阅读:
    关于python3.x语法
    linux简单的安全防护
    hydra(爆破神器)
    扫描Linux服务器查找恶意软件和rootkit的一款工具
    chm 已取消到该网页的导航,打不开!
    android:activity知识点
    C# Mutex对象的使用
    惯性质量与引力质量的联系
    c# timer使用
    weiFenLuo.winFormsUI.Docking.dll学习
  • 原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/7546646.html
Copyright © 2011-2022 走看看