发布时间:2026/7/31 1:06:38
DeepSeek    LeetCode 3977. 有限电量到达目标节点的最少时间 Java实现 javaimport java.util.*;class Solution {public long[] minTimeMaxPower(int n, int[][] edges, int power, int[] cost, int source, int target) {// 建图Listint[][] graph new List[n];for (int i 0; i n; i) {graph[i] new ArrayList();}for (int[] e : edges) {graph[e[0]].add(new int[]{e[1], e[2]});}// dist[node][rem] 到达 node 且剩余电量为 rem 的最短时间long[][] dist new long[n][power 1];for (int i 0; i n; i) {Arrays.fill(dist[i], Long.MAX_VALUE);}dist[source][power] 0;// 优先队列按时间升序时间相同时剩余电量大的优先存储 -rem 以便降序PriorityQueuelong[] pq new PriorityQueue((a, b) - {if (a[0] ! b[0]) return Long.compare(a[0], b[0]);return Long.compare(a[1], b[1]); // a[1] 是 -rem越小 rem 越大});pq.offer(new long[]{0, -power, source});while (!pq.isEmpty()) {long[] cur pq.poll();long time cur[0];int rem (int) -cur[1];int u (int) cur[2];// 跳过过期状态if (time ! dist[u][rem]) continue;// 到达目标此时必为最优最小时间且电量最大if (u target) {return new long[]{time, rem};}// 剩余电量不足以离开当前节点if (rem cost[u]) continue;int newRem rem - cost[u];for (int[] edge : graph[u]) {int v edge[0];int t edge[1];long newTime time t;if (newTime dist[v][newRem]) {dist[v][newRem] newTime;pq.offer(new long[]{newTime, -newRem, v});}}}// 不可达return new long[]{-1, -1};}}关键点说明· 分层图状态(节点, 剩余电量)用 dist[node][rem] 记录到达该状态的最小时间。· 优先级规则优先队列先按时间升序时间相同则剩余电量降序通过存储 -rem 实现。第一次弹出 target 时即获得全局最优解。· 电量消耗只在离开节点时消耗 cost[u]到达目标节点不消耗因为不继续移动。· 特殊情形若 source target直接返回 [0, power]。不可达则返回 [-1, -1]。

相关新闻

2026/7/31 1:01:38

连锁家政门店社区流量派单源码开发技术公司

连锁家政门店社区流量派单源码开发技术公司 连锁家政门店的核心经营优势,在于多社区点位覆盖、全域流量聚合、师傅资源共享调配,区别于单店家政仅服务单一小区、流量固定、人员紧缺的运营模式。连锁家政依托多门店布局,汇聚周边多个社区的居…

2026/7/31 1:01:38

钟点工家电清洗智能分单平台开发综合排行榜

钟点工家电清洗智能分单平台开发综合排行榜 钟点工保洁、家电清洗是家政行业体量最大、场景最细分、时效要求最高的基础服务品类,具备订单碎片化、工种差异化强、淡旺季波动明显、兼职师傅占比高的行业特征。不同于全屋保洁、长期月嫂等标准化家政服务,…

2026/7/31 4:06:47

Lightning转USB-A/C接口转换:协议、电路与快充实现详解

1. 项目概述:从一根线缆看接口的“翻译”艺术手里拿着一台老款的iPhone或者iPad,看着那个Lightning接口,再看看身边越来越多的USB-C设备,是不是经常有种“世界被割裂”的感觉?我手头就堆了不少这种“孤儿”设备&#x…

2026/7/31 4:06:47

Linux嵌入式GPIO控制:Sysfs、字符设备与内存映射三种方法深度对比

1. 项目概述:为什么GPIO控制是嵌入式开发的基石在Linux嵌入式开发领域,无论你是做智能家居、工业控制还是机器人,GPIO(通用输入输出)的控制都是最基础、最核心的技能。它就像是你和硬件世界对话的“嘴巴”和“耳朵”。…

2026/7/31 4:06:47

C语言(1)

计算机基础 计算机的组成 计算机的定义 计算机:能进行计算及逻辑处理的设备。 硬件:组成计算机的物理部件(硬盘,内存条,CPU等) ​ 开发中对于硬件的认知:硬件包括电子设备、单片机、集成电路和嵌…

2026/7/31 4:06:47

解析Agent Loop(智能体循环)的三层分级体系

如今 AI 圈热度居高不下的Loop Engineering(循环工程),其实我们在日常工作中大概率已经接触过。 每一次与编程助手(如Claude Code、Codex或Cursor)的交互会话,本质上都是一个循环:模型读取用户…

2026/7/31 4:06:47

LangGraph 从入门到精通:Functional API 完全指南

前言:为什么你需要这本教程 在 AI 大模型时代,调用一个 LLM(大语言模型,Large Language Model)已经非常容易。但真正的挑战在于:如何构建一个能自主决策、多步推理、调用外部工具、与人类协作的智能 Agent…

2026/7/31 4:01:47

计算机体系结构核心:机器字长、存储字长与指令字长深度解析

1. 从“字长”说起:计算机底层设计的基石干了这么多年硬件和底层软件,我发现很多朋友在入门计算机体系结构时,对“字长”这个概念总是一知半解。机器字长、存储字长、指令字长,这三个词听起来很像,但它们在CPU设计、内…

2026/7/29 22:32:30

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

2026/7/31 0:01:11

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:01:11

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:01:11

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:38:56

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…