力扣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;
      }
  };
相关推荐
csdn_aspnet1 天前
C++ (Naive Partition Algorithm)朴素划分算法
数据结构·c++·算法
eggrall1 天前
找到字符串中所有字母异位词(medium)
算法·leetcode·职场和发展
_日拱一卒1 天前
LeetCode:230二叉搜索树中第K小的元素
算法
Struggle_97551 天前
算法知识-背包dp
算法
ZPC82101 天前
Linux 共享内存(shm)
算法
水木流年追梦1 天前
大模型入门-应用篇2-RAG (检索增强生成):从原理到 Python 实战
开发语言·python·算法·prompt
数智工坊1 天前
【连续动作空间算法2】TD3:DDPG的终极进化,根治连续控制中的函数近似误差
论文阅读·人工智能·算法·计算机视觉
handler011 天前
速通蓝桥杯省一: 前缀和&差分(附经典例题)
c语言·c++·笔记·职场和发展·蓝桥杯
洛水水1 天前
【力扣100题】25. 搜索二维矩阵 II
算法·leetcode·矩阵
样例过了就是过了1 天前
LeetCode热题100 多数元素
c++·算法·leetcode·贪心算法