Kimi    LeetCode 3495. 使数组元素都变为零的最少操作次数 Rust实现 这是 LeetCode 3495 的 Rust 实现。题目理解- 每个查询 [l, r] 定义数组 nums [l, l1, ..., r]- 每次操作选两个数 a, b替换为 ⌊a/4⌋ 和 ⌊b/4⌋- 求将所有元素变为 0 的最少操作次数核心思路一个数 x 变为 0 需要的操作次数是满足 4^p x 的最小 p即 ⌊log₄x⌋ 1。对于区间 [l, r]- 设 s 为区间内所有元素各自所需操作次数之和- 设 mx 为区间内最大操作次数即 r 所需次数- 每次操作最多同时处理两个元素所以至少需要 ⌈s/2⌉ 次操作- 但某些元素如 r需要 mx 次操作才能归零所以答案为 max(⌈s/2⌉, mx)用前缀和优化定义 f(x) 为 [1, x] 所有元素操作次数之和则 s f(r) - f(l-1)mx f(r) - f(r-1)。Rust 代码rustimpl Solution {pub fn min_operations(queries: VecVeci32) - i64 {let mut ans: i64 0;for q in queries {let l q[0] as i64;let r q[1] as i64;let s Self::f(r) - Self::f(l - 1); // 区间总操作次数let mx Self::f(r) - Self::f(r - 1); // 最大元素的操作次数ans std::cmp::max((s 1) / 2, mx); // max(ceil(s/2), mx)}ans}fn f(x: i64) - i64 {if x 0 {return 0;}let mut res: i64 0;let mut p: i64 1; // 4的幂次let mut i: i64 1; // 当前区间需要的操作次数while p x {// 区间 [p, min(4p-1, x)] 内的数都需要 i 次操作let cnt std::cmp::min(p * 4 - 1, x) - p 1;res cnt * i;i 1;p * 4;}res}}复杂度分析- 时间复杂度O(q · log₄M)其中 q 为查询数M ≤ 10⁹- 空间复杂度O(1)关键说明f(x) 将 [1, x] 按 4 的幂次分段- [1, 3]需要 1 次操作4¹ x- [4, 15]需要 2 次操作4² x- [16, 63]需要 3 次操作4³ x- 以此类推...每段长度为 3·4^(i-1)段内每个数贡献 i 次操作。注意由于 p * 4 可能溢出 i64虽然本题 x ≤ 10⁹ 不会溢出在更严格的场景下可以使用 checked_mul 或 u128 中间计算。对于本题数据范围i64 足够安全。

相关新闻

最新新闻

从国企到AI开发:我用DeepSeek+Electron从零做出了跨平台阅读器

从国企到AI开发:我用DeepSeek+Electron从零做出了跨平台阅读器

从零到发布:一个国企员工用 AI 做出的跨平台阅读器我没有计算机学位,主业也跟编程无关。但 AI 让一切不同了。为什么要做阅读器?市面上的阅读器,要么广告太多,要么 AI 功能只是噱头。我想要一个真正理解文档内容的阅读…

2026/7/6 11:25:08
ZooKeeper未授权访问漏洞复现与安全加固实战指南

ZooKeeper未授权访问漏洞复现与安全加固实战指南

1. 项目概述:当ZooKeeper门户大开时如果你负责过分布式系统的运维或开发,ZooKeeper这个名字你一定不陌生。它作为分布式协调服务的“定海神针”,管理着集群的配置、命名、分布式锁和领导者选举,堪称分布式架构的基石。但你想过没有…

2026/7/6 11:25:08
Java毕设项目:基于 SpringBoot+Vue 的抗病毒药物靶点数据挖掘系统的设计与实现 (源码+文档,讲解、调试运行,定制等)

Java毕设项目:基于 SpringBoot+Vue 的抗病毒药物靶点数据挖掘系统的设计与实现 (源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/6 11:25:08
科大讯飞X3办公本:墨水屏+本地AI的会议纪要生产力方案

科大讯飞X3办公本:墨水屏+本地AI的会议纪要生产力方案

1. 项目概述:这不是一支录音笔,而是一套“手写语音AI”的办公协同系统科大讯飞智能办公本X3,这个标题里藏着三个关键动作:“智能”“办公”“本”——它不是平板,不是电子书阅读器,更不是带手写的普通安卓设…

2026/7/6 11:25:08
2025 Nature:表格数据能否不再每次重训调参?TabPFN 把“学习算法”预训练进模型里

2025 Nature:表格数据能否不再每次重训调参?TabPFN 把“学习算法”预训练进模型里

2025 Nature:表格数据能否不再每次重训调参?TabPFN 把“学习算法”预训练进模型里 1. Paper Information 今天读的是 Nature 2025 论文 Accurate predictions on small data with a tabular foundation model。 Paper: Accurate predictions on small da…

2026/7/6 11:25:08
从零搭建Sqli-labs靶场:手把手教你构建SQL注入实战环境

从零搭建Sqli-labs靶场:手把手教你构建SQL注入实战环境

1. 项目概述:为什么我们需要一个SQL注入靶场?如果你刚开始接触Web安全,或者想从理论转向实战,那么“SQL注入”这个词你一定不陌生。它是Web安全领域最经典、最普遍的漏洞之一,也是渗透测试工程师的必修课。但理论学习之…

2026/7/6 11:20:08

月新闻