力扣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;
      }
  };
相关推荐
CCF_NOI.21 分钟前
洛谷P12610 ——[CCC 2025 Junior] Donut Shop
算法
Joseit43 分钟前
从零打造AI面试系统全栈开发
人工智能·面试·职场和发展
鑫鑫向栄2 小时前
[蓝桥杯]模型染色
数据结构·c++·算法·职场和发展·蓝桥杯
1白天的黑夜13 小时前
栈-20.有效的括号-力扣(LeetCode)
c++·算法·leetcode
小白程序员丶钟同学3 小时前
L1-019 谁先倒 (15 分)
数据结构·算法
天真小巫4 小时前
如何提高工作效率
职场和发展
<但凡.4 小时前
题海拾贝:P2347 [NOIP 1996 提高组] 砝码称重
数据结构·c++·算法
bubiyoushang8884 小时前
matlab实现高斯烟羽模型算法
开发语言·算法·matlab
2301_766536054 小时前
刷leetcode hot100--矩阵6/1
算法·leetcode·矩阵