力扣2517.礼盒的最大甜蜜度

作者 : admin 本文共357个字,预计阅读时间需要1分钟 发布时间: 2024-06-17 共1人阅读

力扣2517.礼盒的最大甜蜜度

  • 二分答案求最小值

    • 排完序判断是否有k个差距至少为mid的元素
    • 别用i遍历 可能会越界 用 : 有多少取多少
  •   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;
          }
      };
    
本站无任何商业行为
个人在线分享-虚灵IT资料分享 » 力扣2517.礼盒的最大甜蜜度
E-->