美文网首页iOS Developer
LeetCode-605. Can Place Flowers

LeetCode-605. Can Place Flowers

作者: 冷灬叶枫 | 来源:发表于2017-06-12 17:22 被阅读174次

    题目

    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:
    The input array won't violate no-adjacent-flowers rule.
    The input array size is in the range of [1, 20000].
    n is a non-negative integer which won't exceed the input array size.

    Subscribe to see which companies asked this question.

    代码

    func canPlaceFlowers(_ flowerbed: [Int], _ n: Int) -> Bool {
            var count: Int = 0
            var arr = flowerbed
            for i in 0..<arr.count {
                if (arr[i] == 0 && (i == 0 || arr[i - 1] == 0) && (i == arr.count - 1 || arr[i + 1] == 0)) {
                    arr[i] = 1
                    count += 1
                }
                if  count >= n {
                    return true
                }
            }
            return false
        }
    

    相关文章

      网友评论

        本文标题:LeetCode-605. Can Place Flowers

        本文链接:https://www.haomeiwen.com/subject/fsolqxtx.html