力扣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;
      }
  };
相关推荐
狐璃同学12 小时前
数据结构(2)线性表
数据结构·算法
啦啦啦_999912 小时前
4. KNN算法之 特征预处理(归一化&标准化)
算法
淘气包海鸟12 小时前
雷达基本原理
算法·信息与通信
Tisfy12 小时前
LeetCode 2615.等值距离和:分组(哈希表+前缀和)
算法·leetcode·散列表
啦啦啦_999913 小时前
2. KNN算法之 分类&回归API实现
算法
X journey13 小时前
机器学习进阶(23):K-means聚类
人工智能·算法·机器学习
mjhcsp13 小时前
根号快速计算牛顿迭代法
开发语言·c++·算法·迭代法
菜鸟丁小真13 小时前
LeetCode hot100-79.单词搜索
数据结构·算法·leetcode·深度优先·知识总结
WL_Aurora13 小时前
排序算法(二)
java·算法·排序算法
Tisfy13 小时前
LeetCode 2833.距离原点最远的点:计数
算法·leetcode·字符串·题解·模拟·计数