力扣2517.礼盒的最大甜蜜度

力扣2517.礼盒的最大甜蜜度

  • 二分答案求最小值

    • 排完序判断是否有k个差距至少为mid的元素
    • 别用i遍历 可能会越界 用 : 有多少取多少
cpp 复制代码
  class Solution {
  public:
      int maximumTastiness(vector<int>& price, int k) {
          ranges::sort(price);
          auto check = [&](int mid) -> bool
          {
              int res=1,pre = price[0];
              for(auto p : price)
              {
                  if(p >= pre + mid)
                  {
                      pre = p;
                      res++;
                  }
              }
              return res >= k;
          };
          int l = 0,r = ranges::max(price);
          while(l<r)
          {
              int mid = l + r + 1>> 1;
              if(check(mid)) l = mid;
              else r = mid - 1;
          }
          return l;
      }
  };
相关推荐
纪元A梦1 分钟前
贪心算法应用:食品生产线排序问题详解
算法·贪心算法
信奥卷王32 分钟前
2024年9月GESPC++三级真题解析(含视频)
算法
望未来无悔1 小时前
系统学习算法 专题十八 队列+宽搜
java·算法
xz2024102****1 小时前
最大似然估计:损失函数的底层数学原理
人工智能·算法·机器学习·概率论
Xの哲學2 小时前
Linux RCU (Read-Copy-Update) 机制深度分析
linux·网络·算法·架构·边缘计算
数模加油站2 小时前
25高教社杯数模国赛【C题国一学长思路+问题分析】第二弹
算法·数学建模·数模国赛·高教社杯全国大学生数学建模竞赛
小跌—2 小时前
Linux:进程信号理解
linux·c++·算法
yh云想3 小时前
《Java线程池面试全解析:从原理到实践的高频问题汇总》
jvm·面试·职场和发展
l12345sy4 小时前
Day22_【机器学习—集成学习(2)—Bagging—随机森林算法】
算法·机器学习·集成学习·bagging·随机森林算法
snowfoootball4 小时前
近期算法学习记录
学习·算法