力扣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 分钟前
ConcurrentHashMap线程安全实现原理全解析
java·后端
Mars酱18 分钟前
1分钟编写贪吃蛇 | JSnake贪吃蛇单机版
java·后端·开源
devpotato18 分钟前
人工智能(四)- Function Calling 核心原理与实战
java·人工智能
田梓燊20 分钟前
2026/4/11 leetcode 3741
数据结构·算法·leetcode
默 语25 分钟前
Records、Sealed Classes这些新特性:Java真的变简单了吗?
java·开发语言·python
斯内科30 分钟前
FFT快速傅里叶变换
算法·fft
zjshuster34 分钟前
墨西哥中央银行网联清算系统接入总结
java·财务对账
小锋java123435 分钟前
SpringBoot 4 + Spring Security 7 + Vue3 前后端分离项目设计最佳实践
java·vue.js·spring boot
一 乐36 分钟前
校园线上招聘|基于springboot + vue校园线上招聘系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·校园线上招聘系统
不懂的浪漫38 分钟前
mqtt-plus 架构解析(四):MqttMessageInterceptor 的扩展点设计
java·spring boot·物联网·mqtt