力扣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 小时前
SpringBoot全局配置LocalDate/LocalTime/LocalDateTime的序列化和反序列化
java·spring boot·后端
SEO-狼术12 小时前
Visualize Org Charts and Decision Trees in WinForms
算法·决策树·机器学习
UltraLAB-F12 小时前
GPU显存不足时的分配策略:渲染与仿真的显存争夺战解决方案
图像处理·算法·3d·ai·硬件架构
高斯林.神犇12 小时前
四、依赖注入.spring
java·后端·spring
hero.fei12 小时前
在springboot中使用Resilience4j
java·spring boot·后端
沐苏瑶12 小时前
Java算法之排序
java·算法·排序算法
Ricky111zzz12 小时前
leetcode学python记录2
python·算法·leetcode·职场和发展
java1234_小锋12 小时前
Java高频面试题:Redis是单线程还是多线程?
java·redis·面试
查古穆12 小时前
二分查找-搜索二维矩阵
算法
工具罗某人12 小时前
docker实现redis-cluster模式集群部署
java·redis·docker