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

力扣1482.制作m束花所需的最少时间

力扣1482.制作m束花所需的最少时间

  • 二分答案

    • check的时候
      • 用一个bool数组判断是否开花
      • 找连续的k朵花
  •   const int N = 1e5+10;int st[N];class Solution {public:int minDays(vector<int>& bloomDay, int m, int k) {int n = bloomDay.size();if(n < (long long)m*k) return -1;auto check = [&](int mid) -> bool{for(int i=0;i<n;i++)st[i] = bloomDay[i] <= mid;int cnt=0;  //记录已制作多少花for(int i=0;i<n&&cnt<m;i++){if(st[i]){//记录当前连续的花的数量int cur = 1;while(cur<k && i<n-1 && st[i+1]){i ++;cur++;}if(cur == k) cnt++;}}return cnt>=m;};int l = 0,r = (int)1e9;while(l<r){int mid = l+r>>1;if(check(mid)) r = mid;else l = mid+1;}return check(r) ? r:-1;}};
    
http://www.lryc.cn/news/373910.html

相关文章:

  • 解决 Linux 和 Java 1.8 中上传中文名称图片报错问题
  • cocos开发的时候 wx.onShow在vscode里面显示红色
  • 使用 PNPM 从零搭建 Monorepo,测试组件并发布
  • Oracle 19C 数据库表被误删除的模拟恢复
  • 【CICID】GitHub-Actions语法
  • Ionic 创建 APP
  • 【数学代码】幂
  • os.system() 函数
  • Spring Boot中的RESTful API详细介绍及使用
  • nlp学习笔记
  • 使用python获取内存信息
  • 外包公司泛滥,这些常识你应该提前知道?
  • Linux下的抓包工具使用介绍
  • centos环境上:k8s 简单安装教程
  • 短视频矩阵系统/源码搭建---拆解热门视频功能开发上线
  • 手机和模拟器的 Frida 环境配置
  • 力扣1385.两个数组间的距离值
  • [C++] 小游戏 斗破苍穹 2.11.6 版本 zty出品
  • 认识与学习JSP
  • MySql 各种 join
  • 【Android面试八股文】Android中操作多线程的方式有哪些?
  • 语义分割和目标检测的关系
  • SpringBoot 大文件基于md5实现分片上传、断点续传、秒传
  • 数据资产治理与数据质量提升:构建完善的数据治理体系,确保数据资产的高质量与准确性
  • SylixOS下UDP组播测试程序
  • Web前端快速开发平台:革命性工具,提升开发效率的新篇章
  • 内窥镜系统设计简介
  • 使用Spring Boot实现Redis多数据库缓存
  • 揭秘newSingleThreadExecutor:深度解析与源码探秘
  • 使用python绘制三维散点图