当前位置: 首页 > article >正文

leetcode 2594. 修车的最少时间

题目如下
在这里插入图片描述
数据范围
在这里插入图片描述

显然当修一辆车最久的师傅修完cars辆车所用时间大于等于最短时间所以上界定为这个,而我们不好预测最小时间所以下界直接定为1。
故我们使用二分查找来加速枚举修理过程。

通过代码

class Solution {
public:
    bool check(vector<int>& nums,int sum,long long t){
        long long s = 0;
        int n = nums.size();
        for(int i = 0;i < n;i++){
            s += sqrt(t / (long long)nums[i]);
        }
        return s >= sum;
    }
    long long repairCars(vector<int>& ranks, int cars) {
        long long r = (long long)*max_element(ranks.begin(),ranks.end()) * cars * cars,l = 0;
        long long mid;
        while(l < r){
            mid = l + (r - l)/2;
            if(check(ranks,cars,mid)){
                r = mid;
            }else{
                l = mid + 1;
            }
        }
        return l;
    }
};

在这里插入图片描述


http://www.kler.cn/a/531372.html

相关文章:

  • 网站快速收录:如何优化网站音频内容?
  • 企微SCRM驱动企业私域流量营销与客户关系管理的智慧革新
  • 基于人脸识别的课堂考勤系统
  • HTML DOM 修改 HTML 内容
  • Haskell语言的多线程编程
  • Kafka下载
  • FreeRTOS学习 --- 队列集
  • 深度解析近期爆火的 DeepSeek
  • Linux03——常见的操作命令
  • 计算机网络的组成,功能
  • 密码学的数学基础1-素数和RSA加密
  • PWN--格式化字符串
  • 100 ,【8】 buuctf web [蓝帽杯 2021]One Pointer PHP(别看)
  • UBX完成首轮代币销毁:1,755,874枚UBX永久退出流通
  • L31.【LeetCode题解】轮转数组
  • HTTP协议的无状态和无连接
  • HAO的Graham学习笔记
  • 想表示消息返回值为Customer集合
  • 实现数组的乱序输出、实现数组去重
  • Java编程范式与计算机系统基础
  • Vue 图片引用方式详解:静态资源与动态路径访问
  • webpack传输性能优化
  • 【Word快速设置论文公式居中编号右对齐】
  • Visual Basic语言的移动应用开发
  • 【LLM】Layer Norm 和 RMS Norm 的区别?
  • C#常用744单词