美文网首页
rust练习-1

rust练习-1

作者: robertzhai | 来源:发表于2022-04-15 21:53 被阅读0次

总结

vector 用法
hashmap 用户
类型转换
变量值互换
for + loop 循环遍历
mut 可变变量
match匹配

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

use std::collections::HashMap;


impl Solution {
    pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
        let mut map = HashMap::new();
        let len = nums.len();
        let mut diff = 0;
        for index in 0..len {
            diff = target - nums[index];
            map.insert(diff, index);
        }
        let mut result: Vec<i32> = Vec::new();
        for index in 0..len {
            
             match map.get(&nums[index]) {
                Some(v) => {

                    let tmp:i32 = (*v) as i32;
                    if tmp != index as i32 {
                        result.push(index as i32);
                        result.push(tmp);
                        return result;
                    }
                    
                },
                None => {

                },
            } 
        }
        return result

    }
}

2.https://leetcode.cn/problems/climbing-stairs/

impl Solution {
    pub fn climb_stairs(n: i32) -> i32 {

    
        if n < 2 as i32 {
            return 1;
        }
        let mut f0 = 1;
        let mut f1 = 1;
        let mut temp = 0;
        let mut index = 1;
        loop {
            index += 1;
            temp = f0;
            f0 = f1;
            f1 = f1 + temp;
            if index == n {
                break;
            }
        }
        f1

    }
}

3.https://leetcode.cn/problems/palindrome-number/

impl Solution {
    pub fn is_palindrome(x: i32) -> bool {
        let mut num = x as i32;
        if num < 0 {
            return false
        }
        let mut rev_num:i32 = 0;
        loop {
            if num > 0 {
                rev_num = rev_num*10 + num%10;
                num = num /10;
            } else {
                break;
            }
            
        }
        return x == rev_num

    }
}

相关文章

  • rust练习-1

    to be continued

  • Web3极客日报 #5

    Rust 编程小练习 Rustlings https://github.com/rust-lang/rustlin...

  • Rust语言编程实例100题-035

    Rust语言编程实例100题-035 题目:字符串反转练习,如将字符串 "i like rust!" 反转为"!t...

  • Rust语言编程实例100题-066

    Rust语言编程实例100题-066 题目:Rust指针练习。先来理解下引用和借用的概念。引用是作为参数传递给函数...

  • rust练习-2

    总结 string 遍历,char比较vec 当做stack使用,出栈 入栈vec 变量 修改数据,usize 索...

  • rust练习-5

    总结 二分查找,容易溢出 用 u64String chars next 遍历,match匹配值String int...

  • rust练习-3

    总结 VecDequeVec reverseas 类型转换usize类型 -1 不会小于0,永远>=0双指针合并v...

  • rust练习-4

    总结 string的字符比较和遍历HashMap统计HashSet判重滑动窗口 1、https://leetcod...

  • Rust语言编程实例100题-059

    Rust语言编程实例100题-059 题目:Rust高阶函数练习。高阶函数是指以函数为参数或者返回值的函数,是函数...

  • Rust语言编程实例100题-060

    Rust语言编程实例100题-060 题目:Rust高阶函数练习。高阶函数是指以函数为参数或者返回值的函数,是函数...

网友评论

      本文标题:rust练习-1

      本文链接:https://www.haomeiwen.com/subject/ccaqertx.html