当前位置: 首页 > article >正文

刷题记录(LeetCode605 种花问题)

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

给你一个整数数组 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

关键词:贪心

思路:简单题,直接遍历一遍,每个位置检查一下能不能种,能种就种,记录能种的位置数,最后做个判断就行了。

题解如下:

class Solution {
public:
    bool canPlaceFlowers(vector<int>& flowerbed, int n) {
        int cnt = 0;
        if(flowerbed.size() == 1) {
            if(flowerbed[0] == 0) cnt++;
        }
        else {
            for(int i = 0; i < flowerbed.size(); i++) {
                if(i == 0) {
                    if(flowerbed[0] == 0 && flowerbed[1] == 0) {
                        cnt++;
                        flowerbed[0] = 1;
                    }
                }
                else if(i == flowerbed.size() - 1) {
                    if(flowerbed[i-1] == 0 && flowerbed[i] == 0) {
                        cnt++;
                        flowerbed[i] = 1;
                    }
                }
                else {
                    if(flowerbed[i] == 0) {
                        if(flowerbed[i-1] == 0 && flowerbed[i+1] == 0) {
                            cnt++;
                            flowerbed[i] = 1;
                        }
                    }
                }
            }
        }
        if(cnt >= n) return true;
        else return false;
    }
};


http://www.kler.cn/a/577894.html

相关文章:

  • C语言(队列)
  • 基于大数据的全国地铁数据可视化分析系统
  • 在人工智能软件的帮助下学习编程实例
  • Helm安装chart包到k8s报错“不能重复使用名称,名称已被使用”
  • FPGA 的 LBC 总线详解
  • HttpServlet源码分析与Servlet开发最佳实践
  • 初阶数据结构(C语言实现)——4.1栈
  • QT---鼠标事件
  • 【网络】HTTP协议、HTTPS协议
  • 模拟调制技术详解
  • 顶点着色器和片段着色器
  • 无人机推流/RTMP视频推拉流:EasyDSS无法卸载软件的原因及解决方法
  • Android AudioFlinger(四)—— 揭开PlaybackThread面纱
  • react脚手架(creat-react-app)
  • 大数定律详解
  • 回归预测 | Matlab实现GWO-BP-Adaboost基于灰狼算法优化BP神经网络结合Adaboost思想的回归预测
  • 使用Dify+DeepSeek搭建私有知识库
  • STM32入门之I2C总线应用详解(附LM75A温度传感器实战) | 零基础入门STM32第四十九步
  • #UVM# 关于 config_db 机制中的“路径”和“层次”概念剖析
  • 点云数据处理--splat转3dtiles