痕厄 发表于 2025-6-5 14:51:50

Leetcode 2453. Destroy Sequential Targets | rust 实现

题解

问题描述

给定一个整数数组 nums 和一个整数 space,我们需要找到一个目标值,使得该目标值在 nums 中的出现次数最多。如果有多个目标值出现次数相同,则返回最小的目标值。
解题思路


[*]哈希表统计:使用哈希表 map 来统计每个 seed % space 的出现次数,题干中给出的等式等价为 nums = nums + c * space,在我们知道nums的前提下,可以通过nums对space取余,来得到nums,c是常数,不考虑。这个过程相当于是对题干等式的逆推。
[*]遍历数组:再次遍历 nums,根据哈希表中的统计信息来确定出现次数最多的目标值,注意这里的key是 seed % space。
[*]更新结果:在遍历过程中,维护一个 max 变量来记录当前最大出现次数,并更新 result 为对应的目标值。
代码实现

/*
* @lc app=leetcode id=2453 lang=rust
*
* Destroy Sequential Targets
*/

// @lc code=startuse std::collections::HashMap;
impl Solution {
    pub fn destroy_targets(nums: Vec<i32>, space: i32) -> i32 {
      use std::collections::HashMap;
   
      let mut map: HashMap<i32, i32> = HashMap::new();
      for &seed in &nums {
            let key = seed % space;
            *map.entry(key).or_insert(0) += 1;
      }
   
      let mut max = 0;
      let mut result = i32::MAX;
      for &seed in &nums {
            match map.get(&(seed % space)) {
                Some(&num) => {
                  if num > max {
                        result = seed;
                        max = num;
                  } else if num == max && seed < result {
                        result = seed;
                  }
                },
                None => {}
            }
      }
   
      return result;
    }
}
// @lc code=end代码中使用了 Rust 的标准库 HashMap 来实现哈希表,确保了高效的查找和插入操作。通过两次遍历,时间复杂度为 O(n),空间复杂度为 O(k),其中 n 是数组长度,k 是不同的 seed % space 值的数量

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

忆雏闲 发表于 2025-11-12 16:28:42

前排留名,哈哈哈

粒浊 发表于 2025-11-24 19:39:18

感谢发布原创作品,程序园因你更精彩

南宫玉英 发表于 2025-12-27 08:58:18

谢谢分享,试用一下

撵延兵 发表于 2026-1-14 02:25:44

谢谢楼主提供!

湛恶 发表于 2026-1-14 14:31:35

感谢,下载保存了

麓吆 发表于 2026-1-20 22:40:29

懂技术并乐意极积无私分享的人越来越少。珍惜

归悦可 发表于 2026-1-23 06:45:35

收藏一下   不知道什么时候能用到

劳欣笑 发表于 2026-1-24 12:50:06

谢谢楼主提供!

但婆 发表于 2026-1-27 04:52:34

新版吗?好像是停更了吧。

嗣伐 发表于 2026-1-28 04:34:41

喜欢鼓捣这些软件,现在用得少,谢谢分享!

挠溃症 发表于 2026-2-5 11:17:02

过来提前占个楼

蓬庄静 发表于 2026-2-6 11:44:11

谢谢楼主提供!

左丘平莹 发表于 2026-2-6 12:11:15

喜欢鼓捣这些软件,现在用得少,谢谢分享!

戈森莉 发表于 2026-2-7 03:49:01

这个好,看起来很实用

羔迪 发表于 2026-2-8 17:05:04

喜欢鼓捣这些软件,现在用得少,谢谢分享!

雌鲳签 发表于 2026-2-9 03:19:38

感谢发布原创作品,程序园因你更精彩

釉她 发表于 2026-2-9 04:47:54

很好很强大我过来先占个楼 待编辑

梁丘眉 发表于 2026-2-9 05:50:19

过来提前占个楼

溜椎干 发表于 2026-2-9 19:51:20

新版吗?好像是停更了吧。
页: [1] 2
查看完整版本: Leetcode 2453. Destroy Sequential Targets | rust 实现