力扣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;
          }
      };
    

相关推荐

  1. 1482.制作m最少时间

    2024-06-16 23:46:05       35 阅读
  2. 制作 m 最少天数

    2024-06-16 23:46:05       36 阅读
  3. 2594.修车最少时间

    2024-06-16 23:46:05       58 阅读
  4. 2594.修车最少时间

    2024-06-16 23:46:05       30 阅读
  5. 【每日一题】:修车最少时间

    2024-06-16 23:46:05       60 阅读
  6. 2187.完成旅途最少时间

    2024-06-16 23:46:05       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-16 23:46:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-16 23:46:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-16 23:46:05       87 阅读
  4. Python语言-面向对象

    2024-06-16 23:46:05       96 阅读

热门阅读

  1. 记录碰到的json转换异常

    2024-06-16 23:46:05       29 阅读
  2. 网络安全sql注入实战演示

    2024-06-16 23:46:05       28 阅读
  3. Python 调用 C 和 C 调用 Python 方法

    2024-06-16 23:46:05       33 阅读
  4. Optional详解和常用API

    2024-06-16 23:46:05       23 阅读
  5. ssh 两次跳转,通过跳板机直接登录设备

    2024-06-16 23:46:05       27 阅读
  6. 智谱API调用

    2024-06-16 23:46:05       33 阅读
  7. 对大数据的批量导入MySQL数据库

    2024-06-16 23:46:05       32 阅读
  8. 演绎推理三段论(大前提、小前提、结论)

    2024-06-16 23:46:05       32 阅读
  9. 杂谈-C和C++有什么不同

    2024-06-16 23:46:05       33 阅读