力扣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;
      }
  };
相关推荐
WBluuue3 分钟前
数据机构与算法:dp优化——倍增优化
c++·算法·leetcode·动态规划
范纹杉想快点毕业14 分钟前
嵌入式实时系统架构设计:基于STM32与Zynq的中断、状态机与FIFO架构工程实战指南,基于Kimi设计
c语言·c++·单片机·嵌入式硬件·算法·架构·mfc
lovod15 分钟前
【视觉SLAM十四讲】建图
算法·视觉slam
SmartBrain21 分钟前
AI算法工程师面试:大模型和智能体知识(含答案)
人工智能·算法·语言模型·架构·aigc
熊猫钓鱼>_>22 分钟前
深入理解Java堆栈:从原理到面试实战
java·开发语言·面试·职场和发展·面向对象·堆栈·oop
孞㐑¥25 分钟前
算法—哈希表
开发语言·c++·经验分享·笔记·算法
近津薪荼41 分钟前
递归专题(2)——合并链表
c++·学习·算法·链表
Asher阿舍技术站41 分钟前
【数字通信理论系列】四、载波相位同步
算法·载波同步
圣保罗的大教堂42 分钟前
leetcode 3013. 将数组分成最小总代价的子数组 II 困难
leetcode
-Try hard-1 小时前
队列 | 二叉树
算法