力扣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;
      }
  };
相关推荐
雨落在了我的手上4 分钟前
初识java(二):数据类型与变量
java·开发语言
小闫BI设源码4 分钟前
当20个节点选出两个Master时:Elasticsearch的致命故障与解决方案
java·elasticsearch·jenkins·php·面试宝典·深入解析
洛水水12 分钟前
【力扣100题】22. 矩阵置零
算法·leetcode·矩阵
Liangwei Lin12 分钟前
LeetCode 78. 子集
数据结构·算法·leetcode
SamDeepThinking13 分钟前
千万级用户购物车系统的架构设计
java·后端·架构
liwulin050614 分钟前
【JAVAFX】从ORACLE JDK切换到国内的JDK以便使用JAVAFX功能
java·数据库·oracle
多加点辣也没关系25 分钟前
数据结构与算法|第二十四章:算法思维总结与实战
算法·代理模式
广师大-Wzx29 分钟前
JavaWeb:后端部分
java·开发语言·spring·servlet·tomcat·maven·mybatis
炽烈小老头31 分钟前
【每天学习一点算法 2026/05/11】排序链表
学习·算法·链表
wefg136 分钟前
一些零散的算法
c++·算法