发布时间:2026/8/30 10:20:56
Kimi    LeetCode 3534. 针对图的路径存在性查询 II Rust实现 以下是 LeetCode 3534. 针对图的路径存在性查询 II 的完整 Rust 实现。---核心思路与 Java/Python 版本一致1. 排序按 nums 值排序记录原始下标到排序后位置的映射。2. 双指针求最远跳nxt[i] 表示从排序后位置 i 一步能到达的最远位置。3. 倍增预处理jump[i][k] 表示从 i 连续做 2^k 次最远跳到达的位置。4. 查询贪心同一连通分量内从高位到低位尝试跳跃求最少步数。时间复杂度O(n log n q log n)空间复杂度O(n log n)。---Rust 代码rustuse std::collections::HashMap;impl Solution {pub fn path_existence_queries(n: i32, nums: Veci32, max_diff: i32, queries: VecVeci32) - Veci32 {let n n as usize;let max_diff max_diff as i64;// 1. 按 nums 值排序记录原始下标 - 排序后位置的映射let mut order: Vecusize (0..n).collect();order.sort_by_key(|i| nums[i]);let mut sorted_nums vec![0i64; n];let mut pos vec![0usize; n];for (i, idx) in order.iter().enumerate() {sorted_nums[i] nums[idx] as i64;pos[idx] i;}// 2. 计算连通分量编号排序后连续段let mut comp vec![0usize; n];for i in 1..n {comp[i] comp[i - 1];if sorted_nums[i] - sorted_nums[i - 1] max_diff {comp[i] 1;}}// 3. 双指针求 nxt[i]从排序后位置 i 一步能跳到的最远位置let mut nxt vec![0usize; n];let mut r 0usize;for i in 0..n {while r 1 n sorted_nums[r 1] - sorted_nums[i] max_diff {r 1;}nxt[i] r;}// 4. 倍增数组jump[i][k] 表示从 i 连续跳 2^k 次最远跳到达的位置let log (n 1).next_power_of_two().trailing_zeros() as usize;let mut jump vec![vec![0usize; log]; n];for i in 0..n {jump[i][0] nxt[i];}for k in 1..log {for i in 0..n {jump[i][k] jump[jump[i][k - 1]][k - 1];}}// 5. 回答查询let mut ans Vec::with_capacity(queries.len());for q in queries {let u q[0] as usize;let v q[1] as usize;if u v {ans.push(0);continue;}let mut pu pos[u];let mut pv pos[v];if pu pv {std::mem::swap(mut pu, mut pv);}// 不在同一连通分量不可达if comp[pu] ! comp[pv] {ans.push(-1);continue;}// 倍增贪心从高位到低位能跳就跳求最少步数let mut cur pu;let mut steps 0i32;for k in (0..log).rev() {if jump[cur][k] pv {steps (1 k) as i32;cur jump[cur][k];}}// 最后一步一定能到达 pvans.push(steps 1);}ans}}---关键点说明步骤 说明排序映射 pos[u] 将原始节点编号映射到排序后的位置。Rust 中需小心 usize 与 i32 的类型转换。连通分量 排序后若相邻元素差 max_diff则开启新连通分量。查询时先判断 comp[pu] comp[pv]。最远跳 nxt 双指针在 O(n) 内求出每个位置一步能覆盖的最远范围。nxt[i] 单调不降。倍增 jump jump[i][k] 表示从 i 出发连续做 2^k 次贪心最远跳到达的位置。利用 next_power_of_two().trailing_zeros() 计算所需层数。查询贪心 从 pu 到 pv从高位到低位尝试如果跳 2^k 步后仍到不了 pv就先跳这 2^k 步。最终剩余距离只需一步即可覆盖。 注意Rust 中 nums 值差可能溢出 i32因此内部计算时转换为 i64 处理。

相关新闻

2026/8/27 15:20:25

网盘直链下载助手:九大网盘高速下载的完整技术解决方案

网盘直链下载助手:九大网盘高速下载的完整技术解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…

2026/8/30 10:19:35

LLM强化学习为何低效却有效?策略梯度与KL约束的平衡之道

先抛一个现象:同样是大语言模型,SFT(监督微调)只需要把标准答案喂进去,loss 就能稳定下降;而 RL(强化学习)阶段要反复采样、打分、更新策略,数据效率看起来低到可疑。尤其…

2026/8/30 10:19:35

从遗留压缩包到可运行代码:回调API的完整“考古”与重构指南

简介:本资源是面向C#开发者实现钉钉企业级应用回调事件处理的完整工程示例,适用于需对接钉钉开放平台消息与事件订阅的企业应用开发场景,尤其适合中高级.NET工程师快速落地回调验证、加解密、签名验签等核心逻辑。压缩包共464个文件&#xff…

2026/8/30 10:19:35

ICCG算法:电磁场方程高效求解的预处理共轭梯度法

简介:本资源是面向电磁场数值计算方向的高校研究生、科研工程师及C高性能计算学习者的实践型代码包,聚焦于ICCG(不完全Cholesky共轭梯度)法在大型稀疏对称正定线性方程组求解中的工程实现,特别适用于麦克斯韦方程离散化…

2026/8/30 10:19:35

跨平台图形问题复盘,先把“在哪儿坏了”说清楚

跨平台图形问题复盘,先把“在哪儿坏了”说清楚同一个游戏画面在不同平台上出现差异很常见。某些设备上阴影缺失,有的平台透明效果不对,还有的平台一进入场景就掉帧甚至崩溃。问题发生后,团队容易陷入一种低效讨论:有人…

2026/8/30 0:03:35

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/8/30 0:03:35

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/8/30 0:03:35

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/8/30 0:03:35

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/8/30 0:03:35

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/8/30 0:03:35

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/8/28 16:16:48

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/28 16:16:50

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/28 11:06:45

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…