新闻详情

新闻详情

首页 / 资讯中心 / 详情

元宝 LeetCode 134. 加油站 TypeScript实现

发布时间:2026/10/1 12:32:08来源:尧图网络
元宝    LeetCode 134. 加油站 TypeScript实现
TypeScript 实现贪心O(n) / O(1) LeetCode 的 TS 版本题面是函数形式不是“class Solution”跟 Python/Rust 略有区别。✅ 标准贪心写法推荐提交function canCompleteCircuit(gas: number[], cost: number[]): number {const n gas.length;let total 0; // 全局油差累计let cur 0; // 从候选起点出发的累计油差let start 0; // 候选起点下标for (let i 0; i n; i) { const diff gas[i] - cost[i]; total diff; cur diff; // 到不了第 i 站起点后移到 i1 if (cur 0) { start i 1; cur 0; } } // 总油量够才有效否则返回 -1 return total 0 ? start % n : -1;} 更函数式的写法先算 total逻辑更直白function canCompleteCircuit(gas: number[], cost: number[]): number {const total gas.reduce((sum, g, i) sum g - cost[i], 0);if (total 0) return -1;let cur 0; let start 0; for (let i 0; i gas.length; i) { cur gas[i] - cost[i]; if (cur 0) { start i 1; cur 0; } } return start % gas.length;}“reduce” 版本可读性不错但会多一次遍历面试时写第一个单遍版本更稳。复杂度维度 值时间 O(n) 单遍或两遍空间 O(1) 仅基础变量三语言对照表方便背模板Python3 Rust TypeScript“total diff”“total gas[i]-cost[i]”“total gas[i]-cost[i]”“start i 1”“start i 1”“start i 1”“return start if total0 else -1”“(start%n) as i32” /“-1”“total0 ? start%n : -1”“List[int]”“Vec”“number[]”边界用例验证// n 1canCompleteCircuit([5], [4]); // 0canCompleteCircuit([3], [5]); // -1// 经典用例canCompleteCircuit([1,2,3,4,5], [3,4,5,1,2]); // 3canCompleteCircuit([2,3,4], [3,4,3]); // -1要不要我再补一个 带 Jest 单元测试的版本或者把 134/135分发糖果)/ 环形链表这类「贪心环形」题做个对比小结
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

01背包压维实战:从二维MLE到一维倒序,彻底解决空间与效率问题 2026/10/1 13:26:31

01背包压维实战:从二维MLE到一维倒序,彻底解决空间与效率问题

先问你一个问题:如果一道01背包题目的物品数量是5000,背包容量是10000,你会怎么写状态数组?很多人的第一反应还是dp[5001][10001],然后提交,然后MLE。即使内存侥幸过关,时间也往往卡在超时边缘。…

阅读更多 →
航拍校园操场人体检测:YOLO数据集构建与训练全流程实战 2026/10/1 13:26:31

航拍校园操场人体检测:YOLO数据集构建与训练全流程实战

1. 航拍视角下的人体检测,到底难在哪里先把场景说清楚。航拍校园操场人体检测,指的是用无人机或者高位固定摄像头,从几十米到上百米的高度俯拍操场、跑道、球场这类开阔场地,然后在画面里把每一个人框出来。听起来跟普通的目标检测…

阅读更多 →
TongWeb 7.0.4.9企业版Linux安装部署与License激活实战 2026/10/1 13:26:31

TongWeb 7.0.4.9企业版Linux安装部署与License激活实战

TongWeb 在不少单位的软件清单里属于必备件,尤其是近两年做系统迁移和中间件国产化替换的项目,几乎绕不开它。这次我拿到的是 TongWeb 7.0.4.9 企业版,操作系统是 Linux 服务器。很多刚接触这套环境的同事第一反应是“这不就是个 tomcat 吗”…

阅读更多 →
GroupMamba实战:图像分类中状态空间模型的分组扫描与调优 2026/10/1 13:26:31

GroupMamba实战:图像分类中状态空间模型的分组扫描与调优

简介:本资源面向计算机视觉方向的开发者与研究者,聚焦状态空间模型在视觉任务中的落地实践,围绕GroupMamba这一架构展开图像分类、目标检测与实例分割等任务的完整实现。内容涵盖将SSM扩展至视觉领域时面临的大模型不稳定与低效问题的解决思路…

阅读更多 →
SQLCODE 错误码总结:Oracle ESQL 常见报错排查与 TaoToken 统一 Key 接入实践 2026/10/1 13:26:31

SQLCODE 错误码总结:Oracle ESQL 常见报错排查与 TaoToken 统一 Key 接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
鲁棒状态估计器如何防御虚假数据注入攻击:Huber M估计器实战 2026/10/1 13:26:18

鲁棒状态估计器如何防御虚假数据注入攻击:Huber M估计器实战

简介:这份资源围绕电力系统虚假数据注入攻击的防御问题,提供基于鲁棒广义极大似然(GM)估计器的MATLAB实现与配套说明,面向电力系统状态估计、SCADA监控安全方向的研究生、科研人员与工程技术人员。其核心思路是利用投影…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉