力扣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;
      }
  };
相关推荐
柒.梧.12 小时前
吃透Spring Bean:生命周期、单例特性、作用域及扩展方式
java·后端·spring
小白菜又菜12 小时前
Leetcode 221. Maximal Square
算法·leetcode·职场和发展
zihan032112 小时前
若依(RuoYi)框架核心升级:全面适配 SpringData JPA,替换 MyBatis 持久层方案
java·开发语言·前端框架·mybatis·若依升级springboot
流云鹤12 小时前
牛客周赛Round 132(无F)
算法
Lee川13 小时前
深入解析:从内存模型到作用域陷阱——JavaScript变量的前世今生
javascript·算法
㓗冽13 小时前
回文数2(字符串)-基础题97th + 加法器(字符串)-基础题98th + 构造序列(字符串)-基础题99th
算法
神奇大叔13 小时前
Java 配置文件记录
java·开发语言
陈天伟教授13 小时前
人工智能应用- 预测化学反应:02. 化学反应简介
人工智能·神经网络·算法·机器学习·推荐算法
锥栗13 小时前
【其他】基于Trae的大模型智能应用开发
android·java·数据库
毕设源码-郭学长14 小时前
【开题答辩全过程】以 个人任务管理系统APP为例,包含答辩的问题和答案
java