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

网站内部优化工具响应式网站内容布局

网站内部优化工具,响应式网站内容布局,建站过程,张店学校网站建设定制这是我今天的算法学习记录。 2187. 完成旅途的最少时间 题目描述 思路 二分查找 解题过程 为什么可以使用二分查找? 问题的关键在于寻找一个最小的时间 t,使得在时间 t 内所有公交车完成的总旅途次数 sum 大于等于 totalTrips。 我们可以观察到时间的单…

这是我今天的算法学习记录。


2187. 完成旅途的最少时间

题目描述

LeetCode 2187 Problem Description

思路

二分查找

解题过程

为什么可以使用二分查找?
问题的关键在于寻找一个最小的时间 t,使得在时间 t 内所有公交车完成的总旅途次数 sum 大于等于 totalTrips
我们可以观察到时间的单调性:如果时间 t 内可以完成 totalTrips 次旅途,那么任何大于 t 的时间 t' 肯定也可以完成(甚至完成更多)。反之,如果时间 t 内无法完成 totalTrips 次旅途(即 sum < totalTrips),那么任何小于 t 的时间 t'' 也肯定无法完成。

这种单调性(或称为“二段性”)是使用二分查找的前提。我们可以在一个可能的时间范围内(例如从 1 到一个足够大的上限)进行二分查找。

查找目标是什么?
我们要找的是满足 sum >= totalTrips最小时间 t

二分步骤:

  1. 确定查找范围 [left, right]left 可以是 1,right 可以是一个合理的上界,例如 min(time) * totalTrips(即假设只有最快的车在跑,完成所有旅程所需的时间)。
  2. 取中间时间 mid = left + (right - left) / 2
  3. 计算在 mid 时间内,所有公交车能完成的总旅途次数 sumsum = Σ (mid / time[i]) 对所有 i 求和。
  4. 比较 sumtotalTrips
    • 如果 sum < totalTrips,说明 mid 时间太短,无法完成任务。真正的最短时间一定在 mid 右侧,所以更新 left = mid + 1
    • 如果 sum >= totalTrips,说明 mid 时间可能是答案,或者可能还有更短的时间也满足条件。我们需要尝试更小的时间,所以更新 right = mid - 1
  5. 循环直到 left > right。最终的 left 就是满足条件的最小时间。

复杂度

  • 时间复杂度: O ( N log ⁡ M ) O(N \log M) O(NlogM)
    • 其中 N 是公交车的数量 (time.length)。
    • M 是二分查找的时间范围的上界。在代码中,上界设置为 min(time) * totalTrips。每次二分查找需要 O ( N ) O(N) O(N) 的时间来计算 sum 函数,二分查找本身需要 O ( log ⁡ M ) O(\log M) O(logM) 次迭代。
  • 空间复杂度: O ( 1 ) O(1) O(1)
    • 我们只需要常数级别的额外空间。

Code

class Solution {public long minimumTime(int[] time, int totalTrips) {long left = 1, right = Integer.MAX_VALUE;for (int x : time) {right = Math.min(right, x);}right *= totalTrips;while (left <= right) {long mid = left + (right - left) / 2;if (sum(time, mid) < totalTrips) {left = mid + 1;} else {right = mid - 1;}}return left;}private long sum(int[] arr, long k) {long sum = 0;for (int x : arr) {sum += (k / x);}return sum;}
}

34. 在排序数组中查找元素的第一个和最后一个位置(复习)

题目描述

LeetCode 34 Problem Description

今天是第二次写这道题,和上次相比已经理解了步骤,可以完全解决问题了。

详细题解见我之前的博文:每日算法-250405

Code

class Solution {public int[] searchRange(int[] nums, int target) {int left = check(nums, target);if (left == nums.length || nums[left] != target) {return new int[] {-1, -1};}int right = check(nums, target + 1) - 1;return new int[] {left, right};}private int check(int[] arr, int k) {int left = 0, right = arr.length - 1;while (left <= right) {int mid = left + (right - left) / 2;if (arr[mid] < k) {left = mid + 1;} else {right = mid - 1;}}return left;}
}

2529. 正整数和负整数的最大计数(复习)

题目描述

LeetCode 2529 Problem Description

今天是第二次写这道题,写的已经很顺手了,就不过多解释了。

详细题解见我之前的博文:每日算法-250406

Code

class Solution {public int maximumCount(int[] nums) {int neg = check(nums, 0);int pos = check(nums, 1);return Math.max(neg, (nums.length - pos));}private int check(int[] arr, int k) {int left = 0, right = arr.length - 1;while (left <= right) {int mid = left + (right - left) / 2;if (arr[mid] < k) {left = mid + 1;} else {right = mid - 1;}}return left;}
}


文章转载自:

http://lL6kWseq.cpqwb.cn
http://aoKq4U4g.cpqwb.cn
http://IPdaPMZw.cpqwb.cn
http://H9jO2PQQ.cpqwb.cn
http://h7XbCILN.cpqwb.cn
http://89O0QNO2.cpqwb.cn
http://8XtkfmB9.cpqwb.cn
http://dQVo3BRU.cpqwb.cn
http://QQGB2WrV.cpqwb.cn
http://UeVctcu6.cpqwb.cn
http://1yOEE0vG.cpqwb.cn
http://8ofeBBax.cpqwb.cn
http://PnDZfcte.cpqwb.cn
http://T2CgqfX0.cpqwb.cn
http://z4YVTqef.cpqwb.cn
http://MLJlpoGt.cpqwb.cn
http://mC41rlZn.cpqwb.cn
http://YIrtIAMK.cpqwb.cn
http://cTKEwKsl.cpqwb.cn
http://eUpwHzTl.cpqwb.cn
http://6fLaao4N.cpqwb.cn
http://pcmUux9n.cpqwb.cn
http://iPMhPjO0.cpqwb.cn
http://lqXDqnOI.cpqwb.cn
http://9dCh1lGF.cpqwb.cn
http://tabaSDw5.cpqwb.cn
http://WoBYpR59.cpqwb.cn
http://xGH9apa6.cpqwb.cn
http://VY5v7Wnb.cpqwb.cn
http://Ud4EPaHr.cpqwb.cn
http://www.dtcms.com/wzjs/668617.html

相关文章:

  • 建设玩外汇平台网站物流 东莞网站建设
  • 营销网站的建造步骤如何成为百度广告代理商
  • 域名如何绑定网站做文案的网站有些什么
  • 做与不做赞美网站大润发超市网上商城
  • 运城盐湖区姚孟信通网站开发中心7 the wordpress
  • wix做的网站 网址是什么基于mvc4商务网站开发
  • 如何做网页或网站dw软件怎么制作网页
  • 网站飘落怎么做网页设计html实验总结
  • dw做链接网站无法显示该页面wordpress作者权限拿shell
  • 建网站最低需要多少钱营销推广费计入什么科目
  • 上海seo网站优化佛山格尔做网站的公司
  • 宁波五金网站建设wordpress百度地图插件下载
  • 南京市高淳区城乡建设局网站免费设计图
  • 陕西建设集团韩城公司网站网络监控软件
  • 重庆网站建站一站式服务网站服务器安装教程视频
  • 手机网站建设怎么设计山东郓城住房和城乡建设厅网站
  • 免费做deal的网站推广优化seo
  • 永久免费建站系统网络营销和网上销售的区别
  • 南宁网站优化排名推广做设计到哪个网站赚钱
  • WordPress关站插件怎么做公司网站竞价
  • 论坛网站免费建设模板外贸建站 智能营销
  • 宿迁做网站大公司网易企业邮箱邮件怎么撤回
  • 谁家网站用户体验做的好上海到北京火车时刻表查询
  • 纯静态网站河北邢台wap网站建设
  • 医药销售网站开发背景福建省效能建设网站
  • 网站建设设计原则湖北省建设部网站
  • 1m带宽做网站怎么样wordpress 论坛偷笑
  • c 网站开发案例详解百度云社群运营的经典案例
  • cms做淘宝客网站做擦边球网站赚钱么
  • 江西建设监督网新网站网站下载免费软件