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

力扣每日一题

605. 种花问题 - 力扣(LeetCode)

动态规划

class Solution {
public:bool canPlaceFlowers(vector<int>& flowerbed, int n) {int m = flowerbed.size();if(1 == m)return !flowerbed[0] >= n;else if(2 == m)return ((!flowerbed[0] && !flowerbed[1]) >= n);int dp[m][2];//第i个位置种|不种最大的收获数memset(dp, 0, sizeof dp);if(!flowerbed[0] && !flowerbed[1]){dp[0][1] = 1;dp[1][0] = 1;dp[1][1] = 1 - flowerbed[2];}for(int i = 2; i < m - 1; i++){if(!flowerbed[i] && !flowerbed[i + 1] && !flowerbed[i - 1]){dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] + 1);dp[i][0] = dp[i - 1][1];}else{dp[i][1] = max(dp[i - 1][1], dp[i - 1][0]);dp[i][0] = max(dp[i - 1][1], dp[i - 2][1]);}}if(!flowerbed[m - 1] && !flowerbed[m - 2]){dp[m - 1][1] = max(dp[m - 2][0] + 1,dp[m - 2][0]);dp[m - 1][0] = max(dp[m - 1][1], dp[m - 2][1]);}elsedp[m - 1][0] = max(dp[m - 2][1],dp[m - 2][0]);return max(dp[m - 1][0], dp[m - 1][1]) >= n;}
};

贪心

class Solution {
public:bool canPlaceFlowers(vector<int> &flowerbed, int n) {int m = flowerbed.size();flowerbed.insert(flowerbed.begin(),0);flowerbed.emplace_back(0);for(int i = 1; i <= m; i++){if(!flowerbed[i] && !flowerbed[i - 1] && !flowerbed[i + 1]){flowerbed[i] = 1;n--;}}return n <= 0;}
};

http://www.lryc.cn/news/178404.html

相关文章:

  • 测试OpenCvSharp库的模板匹配功能
  • 网络编程day04(网络属性函数、广播、组播、TCP并发)
  • HALCON支持GPU加速的算子有哪些?
  • MacBook Pro 电池电量限制充电怎么设置AlDente Pro for Mac最大充电限制工具
  • 毕业设计选题之Java+springboot线上蔬菜销售与配送系统(源码+调试+开题+lw)
  • 【Leetcode】162.寻找峰值
  • SpringBoot集成MinIO8.0
  • 蓝桥等考Python组别五级007
  • 【装机】通过快捷键设置BIOS从U盘启动
  • 关于操作系统与内核科普
  • 算法练习3——删除有序数组中的重复项
  • 《YOLOv5:从入门到实战》报错解决 专栏答疑
  • [2023.09.25]:Rust编写基于web_sys的编辑器:输入光标再次定位的小结
  • 估计、偏差和方差
  • 正态分布的概率密度函数|正态分布检验|Q-Q图
  • 【接口测试】HTTP协议
  • 【重新定义matlab强大系列十四】基于问题求解有/无约束非线性优化
  • MySQL 索引介绍和最佳实践
  • 区块链(7):p2p去中心化之初始化websoket服务端
  • 原型、原型链、判断数据类型
  • pycharm中配置torch
  • 什么是Times New Roman 字体
  • 企业会议新闻稿怎么写?会议类新闻稿如何撰写?
  • 算法 滑动窗口最大值-(双指针+队列)
  • Java 并发编程面试题——BlockingQueue
  • Ubuntu Nacos开机自启动服务
  • C++核心编程--继承篇
  • 小程序 解决自定义弹窗滚动穿透问题,解决弹窗背景内容滚动问题
  • win10搭建Selenium环境+java+IDEA(2)
  • 抢先一步感受未来:Raspberry Pi 5正式发布!