首页 > 其他分享 >Leetcode 2453. Destroy Sequential Targets | rust 实现

Leetcode 2453. Destroy Sequential Targets | rust 实现

时间:2024-09-11 18:02:24浏览次数:1  
标签:HashMap space nums 2453 Sequential result 目标值 seed Targets

题解

问题描述

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

解题思路

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

代码实现

/*
 * @lc app=leetcode id=2453 lang=rust
 *
 * [2453] 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 值的数量

标签:HashMap,space,nums,2453,Sequential,result,目标值,seed,Targets
From: https://www.cnblogs.com/azoux/p/18408668

相关文章

  • nn.Sequential 和 nn.ModuleList()的联系与区别
    nn.Sequential和nn.ModuleList()是PyTorch中用于管理神经网络模型中的子模块的两种不同的方式。nn.Sequential是一个用于构建顺序模型的容器类。它允许按照给定的顺序添加一系列的子模块,并将它们串联在一起形成一个顺序的网络结构。nn.Sequential可以简化模型的定义和前向传......
  • Prometheus operator怎么添加targets和告警规则
    使用PrometheusOperator来管理Prometheus实例、添加targets和告警规则是一个相对简单的过程。以下是如何通过PrometheusOperator添加targets和告警规则的详细步骤。1.安装PrometheusOperator如果尚未安装PrometheusOperator,可以通过Helm或Kubernetes清单文......
  • Pytorch 中的 Sequential
    1.介绍在PyTorch中,Sequential是一个模型容器。它是一个用于顺序排列神经网络模块(如层、激活函数等)的容器。通过使用Sequential,可以将多个模块按照顺序连接在一起,构建一个深度神经网络模型。使用Sequential时,可以将每个模块按照顺序添加到Sequential容器中。每个模块都可以......
  • leetcode数论(2453. 摧毁一系列目标)
    前言经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。现阶段开始专项练习。数论包含最大公约数(>=2个数)、最大公约数性质、最小公倍数、区间范围质因素计数(最下间隔)、质因素分解、判断质数、平方根、立方根、互质、同余等等。描述给你一个下标从 0......
  • Pytorch笔记|小土堆|P16-22|神经网络基本骨架、卷积层、池化层、非线性激活层、归一化
    torch.nnContainers是神经网络骨架,含6个类,最常用的是Module——BaseclassforallNNmodulesModule所有神经网络模型(子类)都必须继承Module(父类),Module相当于给所有的神经网络提供了模板,但可进行修改官方示例:importtorch.nnasnnimporttorch.nn.functionalasFclass......
  • Cxx primer-chap9-Sequential Containers
    容器就是某种特定类型的集合。容器之间会提供一些公用的接口,此外没有哪种容器是最优的,只有适合的:sequential容器类型:各个容器的优缺点概览:,其中array和forward_list是新标准添加的。库实现的容器较快,鼓励使用:一些经验之谈,其中vector擅长随机访问,list删除随机增删,如果你不确......
  • ValueError: ('预期 `model` 参数是一个 `Model` 实例,得到 ', <keras.engine.sequenti
    我想做量化感知训练,这是我的模型架构。Model:"sequential_4"_________________________________________________________________Layer(type)OutputShapeParam#=====================================================......
  • An Attentive Inductive Bias for Sequential Recommendation beyond the Self-Attent
    目录概符号说明BSARec(BeyondSelf-AttentionforSequentialRecommendation)代码ShinY.,ChoiJ.,WiH.andParkN.Anattentiveinductivebiasforsequentialrecommendationbeyondtheself-attention.AAAI,2024.概本文在attentionblock中引入高低频滤波.......
  • Personalized Prompt for Sequential Recommendation论文阅读笔记
    PersonalizedPromptforSequentialRecommendation论文阅读笔记Abstract​ 由于推荐的标记(即项目)是百万级的,没有具体的可解释语义,推荐中的序列建模应该是个性化的,因此将NLP的提示调整到推荐中的序列调整是具有挑战性的。​ 在这项工作中,我们首先介绍了提示推荐模型,并提出了一......
  • Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for G
    目录概GRs(GenerativeRecommenders)任务形式模型设计代码ZhaiJ.,LiaoL.,LiuX.,WangY.,LiR.,CaoX.,GaoL.,GongZ.,GuF.,HeM.,LuY.andShiY.Actionsspeaklouderthanwords:Trillion-parametersequentialtransducersforgenerativerecommendation......