力扣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;
      }
  };
相关推荐
jing-ya几秒前
day 55 图论part7
java·数据结构·算法·图论
我爱我家8822 分钟前
亚洲艺术电影节携澳门文化亮相深圳
人工智能·物联网·算法·区块链·爬山算法
Aawy1203 分钟前
C++中的状态模式高级应用
开发语言·c++·算法
zyq99101_13 分钟前
蓝桥杯刷题算法实战解析
数据结构·python·算法·蓝桥杯
sali-tec5 分钟前
C# 基于OpenCv的视觉工作流-章39-FL特征匹配
图像处理·人工智能·opencv·算法·计算机视觉
Liu628889 分钟前
C++中的状态模式
开发语言·c++·算法
smchaopiao9 分钟前
使用C语言打印几何图形:从三角形到菱形
c语言·开发语言·算法
又菜又爱编程的小白11 分钟前
L1-071 前世档案
c++·算法·天梯赛
赵长辉14 分钟前
牛客面试Top101: BM8 表达式求值【java,go】
算法·面试
Fairy要carry22 分钟前
面试-单 Agent 上下文膨胀问题
chrome·面试·职场和发展