LeetCode:605. Can Place Flowers种花问题(C语言)

秒速五厘米 2023-01-01 07:58 279阅读 0赞

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

给定一个花坛(表示为一个数组包含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. 数组内已种好的花不会违反种植规则。
  2. 输入的数组长度范围为 [1, 20000]。
  3. n 是非负整数,且不会超过输入数组的大小。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/can-place-flowers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解答:

  1. bool canPlaceFlowers(int* flowerbed, int flowerbedSize, int n){
  2. int i = 0;
  3. for (i = 0; i < flowerbedSize; i += 2){
  4. if (0 == flowerbed[i]) {
  5. if (i == flowerbedSize - 1 || 0 == flowerbed[i + 1]){
  6. n--;
  7. } else {
  8. i++;
  9. }
  10. }
  11. }
  12. return n <= 0;
  13. }

运行结果:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,279人围观)

还没有评论,来说两句吧...

相关阅读

    相关 605. 种花问题

    贪心思想:  保证每次操作都是局部最优\---->从而使得全局最优   > 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会

    相关 LeetCode605. 种花问题

    假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给定一个花坛(表示为一个数组包含0和1,其中0表