力扣410.分割数组的最大值

力扣410.分割数组的最大值

  • 分割数组 使得子数组最大值最小

    • 凡是最小化最大值和最大化最小值的题都是二分答案
    • 二分子数组最大值 求当前数组可以分为几段
cpp 复制代码
  class Solution {
  public:
      int splitArray(vector<int>& nums, int k) {
          auto check = [&](int mid) -> bool 
          {
              int cnt = 1,s = 0;
              for(int x:nums)
              {
                  if(s + x <= mid)
                      s += x;
                  else
                  {
                      if(cnt ++ == k) return false;
                      s = x;
                  }
              }
              return true;
          };
          int l = ranges::max(nums) , r = accumulate(nums.begin(),nums.end(),0);
          while(l<r)
          {
              int mid = l + r >> 1;
              if(check(mid)) r = mid;
              else l = mid + 1;
          }
          return l;
      }
  };
相关推荐
盐水冰3 分钟前
【烘焙坊项目】后端搭建(6)- 店铺状态设置
java·redis
健康平安的活着6 分钟前
java中乐观锁+事务在批量导入,批量审批案例的使用
java·开发语言
夏语灬6 分钟前
SpringBoot集成MQTT客户端
java·spring boot·后端
AI浩8 分钟前
UTPTrack:迈向简单统一的视觉跟踪令牌剪枝
算法·机器学习·剪枝
Memory_荒年9 分钟前
Spring Boot自动装配:告别“配置地狱”的智能管家
java·后端·spring
nananaij17 分钟前
【LeetCode-02 最小偶倍数 python解法】
python·算法·leetcode
倾心琴心18 分钟前
【agent辅助pcb routing coding学习】实践4 kicad pcb 核心类层次关系
算法·agent·pcb·eda·routing
im_AMBER22 分钟前
Leetcode 139 最后一个单词的长度 | 找出字符串中第一个匹配项的下标
开发语言·算法·leetcode
盐水冰23 分钟前
【烘焙坊项目】后端搭建(9)- 缓存实现及购物车相关功能开发
java·后端·spring
Frostnova丶24 分钟前
(6)LeetCode.42 接雨水
数据结构·算法·leetcode