两数之和 day3
本文最后更新于 115 天前,其中的信息可能已经有所发展或是发生改变。

控制链基础使用

原题

用数组中两个数值(不能重复)相加得到与target相同的值并返回下标

//力扣 两数之和 数组nums中两数之和值为target 返回两数下标
struct Solution;
impl Solution {
    pub fn two_sum(nums:Vec<i32>,target:i32)->  Vec<i32>{
        //补充逻辑
    }
}
fn main(){
    let nums= vec![1,2,3];
    let target = 5;
    let result = Solution::two_sum(nums, target);
    print!("{:?}",result)
}

解题思路

首先分析题目,用数组中两个数值(不能重复)相加得到与target相同的值并返回下标,所以我们需要遍历整个数组,需要两个值,所以二层嵌套,数组末尾下标我们可以用num.len()求长度来获得 nums[end] end =nums.len-1,不过这里长度类型为usize,不可以与i32相减 不过rust的for i,in 0…num中,取0但不取num,所以我们不需要对长度处理

let len = nums.len(); //len类型为usize 下文中确保i,j转换为usize,
for i in 0..len {
    for j in (i+1)..len {

    }
}

这样我们就可以让数组中所有值两两相加且不会重复,接着我们来写判断

    if nums[i]+nums[j]==target{
        return vec![i as i32,j as i32]; //这里我们需要注意上文嵌套中我们使用了usize的数组长度,所以i,j也统一为usize类型,在这里我们需要返回值类型为i32所以需要as转换类型
    }
    vec![] //若无解(else)返回空向量

成品

struct Solution;
impl Solution {
    pub fn two_sum(nums:Vec<i32>,target:i32)->  Vec<i32>{
        let len = nums.len();//取数组长度len 长度类型为*usize*
        for i in 0..len {
            for j in (i+1)..len{ 
                if nums[i]+nums[j]==target{
                    return vec![i as i32,j as i32];//返回下标并转换类型 [1,2]
                }
            }
        }
        vec![] //else 返回空向量
    }
}
fn main(){
    let nums= vec![1,2,3];
    let target = 5;
    let result = Solution::two_sum(nums, target);
    print!("{:?}",result)
}

评论

  1. Avatar photo
    gtchases
    博主
    4 月前
    2025-9-21 9:17:37

    @ling 呜呜呜,我在力扣迈出第一步了

    • Avatar photo
      博主
      gtchases
      4 月前
      2025-9-21 20:49:59

      有人相爱,有人夜里开车看海,有人LeetCode第一题都做不出来

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇