力扣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;
      }
  };
相关推荐
逆光的July7 分钟前
Hikari连接池
java
微风粼粼19 分钟前
eclipse 导入javaweb项目,以及配置教程(傻瓜式教学)
java·ide·eclipse
番茄Salad19 分钟前
Spring Boot临时解决循环依赖注入问题
java·spring boot·spring cloud
hadage23327 分钟前
--- 数据结构 AVL树 ---
数据结构·算法
liu****29 分钟前
8.list的使用
数据结构·c++·算法·list
天若有情67335 分钟前
Spring MVC文件上传与下载全面详解:从原理到实战
java·spring·mvc·springmvc·javaee·multipart
祈祷苍天赐我java之术37 分钟前
Redis 数据类型与使用场景
java·开发语言·前端·redis·分布式·spring·bootstrap
阿拉丁的梦39 分钟前
后期材质-屏幕冲击径向模糊
算法·材质
weixin_429630261 小时前
实验二-决策树-葡萄酒
算法·决策树·机器学习
Olrookie2 小时前
若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
java·前端·笔记·后端·学习·vue·ruoyi