Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LeetCode 6010. 完成旅途的最少时间(二分查找)

LeetCode 6010. 完成旅途的最少时间(二分查找)

作者头像
Michael阿明
发布于 2022-03-10 10:41:49
发布于 2022-03-10 10:41:49
36700
代码可运行
举报
运行总次数:0
代码可运行

文章目录

1. 题目

给你一个数组 time ,其中 time[i] 表示第 i 辆公交车完成 一趟旅途 所需要花费的时间。

每辆公交车可以 连续 完成多趟旅途,也就是说,一辆公交车当前旅途完成后,可以 立马开始 下一趟旅途。 每辆公交车 独立 运行,也就是说可以同时有多辆公交车在运行且互不影响。

给你一个整数 totalTrips ,表示所有公交车 总共 需要完成的旅途数目。请你返回完成 至少 totalTrips 趟旅途需要花费的 最少 时间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
示例 1:
输入:time = [1,2,3], totalTrips = 5
输出:3
解释:
- 时刻 t = 1 ,每辆公交车完成的旅途数分别为 [1,0,0] 。
  已完成的总旅途数为 1 + 0 + 0 = 1- 时刻 t = 2 ,每辆公交车完成的旅途数分别为 [2,1,0] 。
  已完成的总旅途数为 2 + 1 + 0 = 3- 时刻 t = 3 ,每辆公交车完成的旅途数分别为 [3,1,1] 。
  已完成的总旅途数为 3 + 1 + 1 = 5 。
所以总共完成至少 5 趟旅途的最少时间为 3 。

示例 2:
输入:time = [2], totalTrips = 1
输出:2
解释:
只有一辆公交车,它将在时刻 t = 2 完成第一趟旅途。
所以完成 1 趟旅途的最少时间为 2 。
 
提示:
1 <= time.length <= 10^5
1 <= time[i], totalTrips <= 10^7

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/minimum-time-to-complete-trips 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 所花费的时间变多,能完成的总的 旅程 数量不会减少,具有单调性,对答案进行二分查找
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
typedef long long LL;
class Solution {
public:
    long long minimumTime(vector<int>& time, int totalTrips) {        
        LL l = 1, r = 1e15, mid, ans = r;
        while(l <= r)
        {
            mid = (l+r)>>1;
            if(canfinish(time, totalTrips, mid))
            {
                ans = mid;
                r = mid-1;
            }
            else
                l = mid+1;
        }
        return ans;
    }
    bool canfinish(vector<int>& time, int totalTrips, long long tottime)
    {
        LL ct = 0;
        for(auto t : time)
        {
            ct += tottime/t;
            if(ct >= totalTrips)
                return true;
        }
        return false;
    }
};

148 ms 86.6 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【六】SpringCloud Alibaba之整合Sentinel(实现流量控制)
下面,将对前面五章整合的代码进行sentinel的整合并实现流量控制作用。 为了实现流量控制会用到一个压力测试工具Jmeter ,可以实现每秒发起多次请求,可以用来进行压力测试,方便下面的限流测试。 因为是在前面五章代码上进行整合的,所有可能会失败,欢迎讨论。 qq交流群导航——>231378628
小z666
2024/06/21
3230
【六】SpringCloud Alibaba之整合Sentinel(实现流量控制)
【九】SpringCloud Alibaba之整合Sentinel(实现热点控制)
框选处为新增的方法,可以看到有两个传入参数,分别是username和password。
小z666
2024/06/21
1150
【九】SpringCloud Alibaba之整合Sentinel(实现热点控制)
SpringCloud AlibabaSentinel实现熔断与限流(1)
设置效果 当关联资源/testB的qps阀值超过1时,就限流/testA的Rest访问地址,当关联资源到阈值后限制配置好的资源名
一个风轻云淡
2022/11/13
2810
SpringCloud AlibabaSentinel实现熔断与限流(1)
面试官:Sentinel是如何实现限流的?
限流是一种通过控制系统对外提供的资源、服务或接口的访问数量或速率,以保护系统免受过载的一种策略。
磊哥
2024/02/04
2.2K0
面试官:Sentinel是如何实现限流的?
【八】SpringCloud Alibaba之整合Sentinel(实现流量控制3)
value:定义sentinel的资源名称。(ps:一定要注意,sentinelresource的名字不要相同,controller下面的方法,sentinel他会默认加载成sentinel资源,名字为mapping映射注解的值,所以若在方法上新增一个sentinelresource注解,一定记得不能重名,否则会失效。!!!!!)。
小z666
2024/06/21
1410
【八】SpringCloud Alibaba之整合Sentinel(实现流量控制3)
服务容错的必要性与Spring Cloud Alibaba Sentinel 限流配置实战
大型的分布式系统,业务一般会有高峰和低谷。就好比居民用电,全年峰谷时段按每日24小时分为 高峰 、 平段 、 低谷 三段各8小时。在系统架构中,设置集群的大小会有成本考虑,一般不会一直按照 高峰 时的规模运行,大多时间里集群规模都不如 高峰时段 大(规模越大,成本越高),那么当 高峰 来临时 ,就会有服务的 动态扩容 。
行百里er
2022/11/22
7590
服务容错的必要性与Spring Cloud Alibaba Sentinel 限流配置实战
Sentinel 实现熔断与限流
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
用户9615083
2022/12/25
1.6K0
Sentinel 实现熔断与限流
Sentinel源码—1.使用演示和简介
问题一:在调用第三方接口或其他部门的接口时需要控制速度。例如第三方接口限制QPS为1000,需要在请求第三方接口时进行限流。
东阳马生架构
2025/07/16
1240
Sentinel 深度剖析 之 流量控制中算法
Sentinel的流量控制是监控应用流量的 QPS 或 并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量⾼峰冲垮,从而保证高可用。
林淮川
2021/11/24
1.7K3
解密Sentinel中流控规则的阀值奥秘
在数字世界的舞台上,流量就像是一场蔓延的舞蹈,而Sentinel的流控规则就是这场舞蹈的舞台监管者。但这位监管者可不仅仅是一个守规矩的门卫,它了解每一位舞者的独特特点,通过不同的阀值类型精准掌控舞台的秩序。在本文中,我们将解密这位数字守护的神秘面纱,揭示Sentinel中流控规则的阀值奥秘。
一只牛博
2025/05/30
1290
解密Sentinel中流控规则的阀值奥秘
Sentinel
官网:https://github.com/alibaba/Sentinel、https://sentinelguard.io/zh-cn/
收心
2022/08/24
6510
Sentinel
【愚公系列】2023年12月 Java教学课程 218-微服务保护(Sentinel的流量控制)
微服务保护是指在微服务架构中为了确保服务的稳定性和安全性而采取的一系列保护措施。这些保护措施包括:
愚公搬代码
2025/06/02
1060
【愚公系列】2023年12月 Java教学课程 218-微服务保护(Sentinel的流量控制)
【Sentinel】流控效果与热点参数限流
阈值一般是一个微服务能承担的最大QPS,但是一个服务刚刚启动时,一切资源尚未初始化(冷启
陶然同学
2023/02/24
1.3K0
【Sentinel】流控效果与热点参数限流
Sentinel流量控制
Sentinel流量控制(flow control)的原理是监控应用流量的QPS或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。
别团等shy哥发育
2023/02/25
8450
Sentinel流量控制
SpringCloud进阶(3)–Sentinel流量防卫兵
在微服务中存在雪崩现象,也就是说如果一个微服务出现问题,可能会导致整个链路上的服务都直接不可用,因此,我们需要对服务进行及时的熔断和降级。
摸鱼的G
2024/01/03
2910
SpringCloud进阶(3)–Sentinel流量防卫兵
SpringCloud Alibaba——Sentinel
本篇文章介绍的是SpringCloud Alibaba技术栈中针对熔断限流的解决方案——Sentinel,本篇文章的大纲如下所示: 一、概念介绍
爪哇缪斯
2023/05/10
1K0
SpringCloud Alibaba——Sentinel
微服务(十五)——Sentinel 高可用流量管理框架
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
不愿意做鱼的小鲸鱼
2022/09/27
1.3K0
微服务(十五)——Sentinel 高可用流量管理框架
【Sentinel】流控模式
雪崩问题虽然有四种方案,但是限流是避免服务因突发的流量而发生故障,是对微服务雪崩问题的
陶然同学
2023/02/24
8910
【Sentinel】流控模式
SpringCloud Alibaba Sentinel服务流控快速入门
独立于项目外的 服务流量控制台,可以用于熔断 防止服务崩溃无响应,服务重启,流量限制等
冷环渊
2021/11/03
5300
SpringCloud Alibaba Sentinel服务流控快速入门
Java学习笔记-微服务(8)-流量治理Sentinel
Sentinel 实现了从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助保障微服务稳定性。
咸鱼程序员
2025/03/09
3460
Java学习笔记-微服务(8)-流量治理Sentinel
推荐阅读
相关推荐
【六】SpringCloud Alibaba之整合Sentinel(实现流量控制)
更多 >
交个朋友
加入AICoding云开发技术交流群
智能编码实践分享 聚焦AI+云开发
加入云开发企业交流群
企业云开发实战交流 探讨技术架构优化
加入[腾讯云开发者] 技术交流站
云开发技术探讨 开发者成长经验
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验