力扣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;
      }
  };
相关推荐
代码中介商4 分钟前
LRU缓存算法:双向链表+哈希表实现
算法·链表·缓存
lqqjuly8 分钟前
计算理论—图灵机、复杂性、信息论与机器学习的理论基础
算法
Raink老师16 分钟前
【AI面试临阵磨枪-96】A2A 通信模式:请求响应、发布订阅、事件广播、消息队列?
面试·职场和发展
Hiter_John21 分钟前
Golang的循环语句
开发语言·算法·golang
磊 子30 分钟前
STL算法库讲解1
开发语言·c++·算法
8Qi831 分钟前
LeetCode 474:一和零(Ones and Zeroes)—— 题解 ✅
算法·leetcode·职场和发展·动态规划·01背包
stolentime37 分钟前
CF2066D2 Club of Young Aircraft Builders (hard version)题解
c++·算法·动态规划·组合数学
一个不知名程序员www43 分钟前
算法学习入门---算法题DAY3
c++·算法
七夜zippoe44 分钟前
DolphinDB向量化计算:高性能数据处理
算法·dolphindb
悠仁さん1 小时前
哈夫曼树的简单介绍
算法