力扣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;
      }
  };
相关推荐
liu****1 小时前
八.函数递归
c语言·开发语言·数据结构·c++·算法
CM莫问2 小时前
详解机器学习经典模型(原理及应用)——岭回归
人工智能·python·算法·机器学习·回归
DuHz2 小时前
论文阅读——Edge Impulse:面向微型机器学习的MLOps平台
论文阅读·人工智能·物联网·算法·机器学习·edge·边缘计算
梦想的旅途22 小时前
基于雪花算法(Snowflake)的 Go 语言唯一 ID 生成与并发安全实现
算法·安全·golang
Vanranrr2 小时前
C++临时对象与悬空指针:一个导致资源加载失败的隐藏陷阱
服务器·c++·算法
不会编程的小寒2 小时前
数据库编程 面试
数据库·面试·职场和发展
adam_life3 小时前
【P8306 【模板】字典树】
数据结构·算法·字典树·trie·哈希表··结构体
Wenhao.4 小时前
LeetCode Hot100 腐烂的橘子
算法·leetcode·职场和发展
行走的bug...4 小时前
支持向量机
算法·机器学习·支持向量机
信号处理学渣4 小时前
matlab之将一个升序数组按照元素值连续与否分成多组
数据结构·算法·matlab