力扣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;
      }
  };
相关推荐
在下赵某人14 分钟前
概率数据结构的设计原理与误差分析
数据结构·算法·哈希算法
CoderYanger22 分钟前
递归、搜索与回溯-综合练习:19.目标和
java·算法·leetcode·1024程序员节
mit6.82422 分钟前
dfs|mask^翻转
算法
kk哥889925 分钟前
如何在面试中展现自己的软实力?
面试·职场和发展·cocoa
SKYDROID云卓小助手40 分钟前
三轴云台之控制协同技术
服务器·网络·图像处理·人工智能·算法
The Last.H1 小时前
Educational Codeforces Round 185 (Rated for Div. 2)A-C
c语言·c++·算法
fengfuyao9852 小时前
匈牙利算法的MATLAB实现
java·算法·matlab
路过君_P2 小时前
C++ 算法题解:迷宫寻路
c++·算法·深度优先
罗湖老棍子2 小时前
二维vector完全指南1:从定义到增删改查
数据结构·c++·算法·stl
再卷也是菜2 小时前
C++篇(22)LRU Cache
数据结构·c++·算法