力扣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;
      }
  };
相关推荐
鲸采云SRM采购管理系统43 分钟前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
leisoo80972 小时前
财报数据怎么排雷本地化Python构建财务异常预警系统
人工智能·python·算法
0x532 小时前
Java网络编程(二)
java·服务器·网络
Flittly2 小时前
【雕虫大技】Agent 动态 Skill 供应链安全加固(三):输出校验与治理闭环实战
java·spring boot·spring
Poo_Chai2 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
瑞码空间2 小时前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing
树码小子2 小时前
开启 IDEA 中的断言功能
android·java·intellij-idea
茶本无香3 小时前
Java调用Shell脚本执行SQL数据库操作:从入门到实战
java·sql·shell
风流 少年3 小时前
Spring AI 2.0:MCP
java·后端·spring