Rust 力扣 - 2. 两数相加

文章目录

题目描述

题解思路

我们使用一个全局的备忘录,然后我们遍历数组,如果当前元素在备忘录里面找到了,就返回备忘录里面记录的下标和当前下标记录,没找到就把当前元素匹配的元素和当前元素下标存入备忘录

题解代码

rust 复制代码
use std::collections::{HashMap};

impl Solution {
    pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
        let mut record = HashMap::new();

        for (i, num) in nums.iter().enumerate() {
            if let Some(j) = record.get(num) {
                return vec![*j as i32, i as i32];
            } else {
                record.insert(target - num, i);
            }
        }

        vec![]
    }
}

题目链接

https://leetcode.cn/problems/two-sum/

相关推荐
y = xⁿ1 分钟前
【LeetCode】哈希表
算法·leetcode·散列表
时寒的笔记2 分钟前
js7逆向案例_禁止f12打开&sojson打开
开发语言·javascript·ecmascript
大鹏说大话6 分钟前
什么是“过早优化”?
开发语言
码云数智-园园7 分钟前
RESTful API vs GraphQL:设计哲学、性能博弈与选型指南
开发语言
智者知已应修善业8 分钟前
【51单片机独立按键控制数码管动态显示和LED间隔闪烁并清零】2023-5-28
c语言·经验分享·笔记·算法·51单片机
每天吃饭的羊15 分钟前
nest,java对比
java·开发语言
sycmancia15 分钟前
Qt——登录对话框
开发语言·qt
专注VB编程开发20年15 分钟前
WebView2同时执行多个Promise异步任务性能损失1毫秒以内
开发语言
froginwe1116 分钟前
Perl 目录操作指南
开发语言