力扣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;
      }
  };
相关推荐
风中的微尘5 小时前
39.网络流入门
开发语言·网络·c++·算法
西红柿维生素6 小时前
JVM相关总结
java·jvm·算法
ChillJavaGuy8 小时前
常见限流算法详解与对比
java·算法·限流算法
sali-tec8 小时前
C# 基于halcon的视觉工作流-章34-环状测量
开发语言·图像处理·算法·计算机视觉·c#
你怎么知道我是队长9 小时前
C语言---循环结构
c语言·开发语言·算法
艾醒9 小时前
大模型面试题剖析:RAG中的文本分割策略
人工智能·算法
纪元A梦11 小时前
贪心算法应用:K-Means++初始化详解
算法·贪心算法·kmeans
_不会dp不改名_12 小时前
leetcode_21 合并两个有序链表
算法·leetcode·链表
mark-puls12 小时前
C语言打印爱心
c语言·开发语言·算法
Python技术极客12 小时前
将 Python 应用打包成 exe 软件,仅需一行代码搞定!
算法