力扣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;
      }
  };
相关推荐
0+11112 小时前
算法 --模拟
c++·算法·leetcode
青山是哪个青山12 小时前
LeetCode 300:最长递增子序列
算法
hetao173383713 小时前
2026-10-01~02 hetao1733837 的刷题记录
c++·算法
小虎牙^O^13 小时前
模糊数学综合评价:从模糊数学到建模评价类模型
人工智能·算法
随意起个昵称13 小时前
【单调队列优化DP】U301134 绿色通道
算法·动态规划
Nil20813 小时前
leetcode 739每日温度
算法·leetcode·职场和发展
lvwangshu14 小时前
势能分析(摊还分析)
数据结构·数学·算法
盘古开天166614 小时前
PPO算法代码实战(三):PyTorch从零实现PPO求解CartPole
人工智能·pytorch·算法
yyy(十一月限定版)14 小时前
CF2138A Cake Assignment
算法
xqqxqxxq14 小时前
LeetCode Hot100 矩阵专题题解笔记
笔记·leetcode·矩阵