美文网首页
【算法题】 605. 种花问题

【算法题】 605. 种花问题

作者: 程序员小2 | 来源:发表于2023-09-28 08:58 被阅读0次

题目:

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。

给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false 。

示例 1:

输入:flowerbed = [1,0,0,0,1], n = 1
输出:true
示例 2:

输入:flowerbed = [1,0,0,0,1], n = 2
输出:false

提示:

1 <= flowerbed.length <= 2 * 104
flowerbed[i] 为 0 或 1
flowerbed 中不存在相邻的两朵花
0 <= n <= flowerbed.length

java代码:

class Solution {
    public boolean canPlaceFlowers(int[] flowerbed, int n) {
        int count = 0;
        int m = flowerbed.length;
        int prev = -1;
        for (int i = 0; i < m; i++) {
            if (flowerbed[i] == 1) {
                if (prev < 0) {
                    count += i / 2;
                } else {
                    count += (i - prev - 2) / 2;
                }
                prev = i;
            }
        }
        if (prev < 0) {
            count += (m + 1) / 2;
        } else {
            count += (m - prev - 1) / 2;
        }
        return count >= n;
    }
}

相关文章

  • 605. 种花问题

    这道题的目标就是要找到连续三个0,然后我们在中间位置插入一个1并且计数,有两个注意点: 1 注意头和尾是不需要有连...

  • leetCode 605. 种花问题

    题目描述 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺...

  • JavaScript 算法(种花问题)

    题目:假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源...

  • LeetCode刷题-种花问题

    前言说明 算法学习,日常刷题记录。 题目连接 种花问题[https://leetcode-cn.com/probl...

  • IOS 算法(基础篇) -----种花问题

    假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会...

  • 121. Best Time to Buy and Sell S

    最大子段和问题的变形:此题相关的算法是:Kadane算法代码:

  • 写给iOS开发的跳一跳秘籍

    开篇前说一下上周和这周都没更新算法题。因为这两周的算法题难度级别都是'Hard',经典题N皇后问题,网上太多太多了...

  • Android面经| 算法题解

    整理了校招面试算法题,部分《剑指offer》算法题,以及LeetCode算法题,本博文中算法题均使用Java实现校...

  • 切割字符串

    问题来自一道算法题: Count the number of segments in a string, wher...

  • 算法5 种花

    题目:假设你有一个长的多块花坛,其中一些地块种植花,有些不种。条件是花不能种植在相邻的地块 - 他们会争取水,两者...

网友评论

      本文标题:【算法题】 605. 种花问题

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