力扣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;
      }
  };
相关推荐
在所不辞兄13 小时前
选择隐式方法求解刚性ODE
算法
码爸14 小时前
贪心算法介绍与示例
算法·贪心算法
bksczm14 小时前
0基础面试3
面试·职场和发展
-dzk-14 小时前
【多维动态规划】LC 64.最小路径和
算法·动态规划
垆边人似月.15 小时前
华为机试题 :字符串压缩
算法·华为
ggb喔15 小时前
52pojie 的图片工具:为什么无损转换后体积涨了 6 倍、照片方向还是歪的
图像处理·python·算法·计算机视觉·图形渲染·媒体
菜鸟~noob23315 小时前
【电子战】第25篇:自由空间、双射线与菲涅尔区【含matlab代码】
开发语言·算法·matlab
地平线开发者15 小时前
地平线征程6M YOLOv8s 部署
算法·自动驾驶
Run_Teenage15 小时前
算法:Manacher(马拉车)算法、中心扩展算法
算法
Tisfy16 小时前
LeetCode 0301.删除无效的括号:二进制枚举 / 回溯
算法·leetcode·字符串·题解·回溯·括号匹配·二进制枚举