力扣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;
      }
  };
相关推荐
架构师沉默10 分钟前
为什么工作 10 年都没遇过分布式锁?
java·后端·架构
镜花水月linyi18 分钟前
synchronized 锁升级原理:从 JDK 8 实现到 JDK 25 演进
java·后端·java ee
ERP老兵-冷溪虎山20 分钟前
Python/JS/Go/Java同步学习(第五十篇半)四语言“path路径详解“对照表: 看完这篇定位文件就通透了(附源码/截图/参数表/避坑指南)
java·javascript·python·golang·中医编程·编程四语言同步学·path路径详解
零匠学堂202520 分钟前
移动学习平台与在线学习平台是什么?主要有哪些功能?
java·spring boot·学习
少平81824 分钟前
一分钱的Bug(求助帖)
java
q***017728 分钟前
Spring.factories
java·数据库·spring
-大头.31 分钟前
Spring Bean作用域深度解析与实战
java·后端·spring
qq_3363139334 分钟前
java基础-排序算法
java·开发语言·排序算法
豆沙沙包?37 分钟前
2025年--Lc298-1019. 链表中的下一个更大节点(栈)--java版
java·数据结构·链表
fengfuyao98538 分钟前
匈牙利算法的MATLAB实现
java·算法·matlab