力扣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;
      }
  };
相关推荐
蜡台几秒前
Android Gradle 项目下载编译失败解决---持续更新
android·java·kotlin·gradle
迈巴赫车主1 分钟前
天梯赛 L2-004 这是二叉搜索树吗?java
java·开发语言·数据结构·算法·天梯赛
沐苏瑶12 分钟前
Java 数据结构精讲:二叉树遍历算法与底层实现剖析
数据结构·算法
JMchen12331 分钟前
跨技术栈:在Flutter/Compose中应用自定义View思想
java·经验分享·flutter·canvas·dart·自定义view
黄昏晓x32 分钟前
C++11
android·java·c++
董董灿是个攻城狮40 分钟前
大模型连载8:词向量如何表示近义词?
人工智能·python·算法·机器学习
Java水解40 分钟前
RUST异步并发安全与内存管理的最佳实践
java·后端·面试
李白的粉42 分钟前
基于springboot的论坛网站
java·spring boot·毕业设计·课程设计·论坛网站
Jasmine_llq44 分钟前
《B4001 [GESP202406 一级] 立方数》
算法·单输入处理·整数算术运算·立方数枚举验证算法(核心逻辑)·循环终止优化算法·状态标记算法·三元运算符输出
Hvitur1 小时前
eclipse新建SpringBoot项目
java·spring boot·eclipse