您的位置:首页 > 健康 > 养生 > 广告设计与制作网站_盐城网站开发建设_crm管理系统_企业建站公司

广告设计与制作网站_盐城网站开发建设_crm管理系统_企业建站公司

2024/12/22 9:56:40 来源:https://blog.csdn.net/baiyu33/article/details/144598831  浏览:    关键词:广告设计与制作网站_盐城网站开发建设_crm管理系统_企业建站公司
广告设计与制作网站_盐城网站开发建设_crm管理系统_企业建站公司

1. 目的

陈越姥姥说,ACM拿奖的人有两类,一类是 NOIP 搞了好几年的,另一类是大学才开始搞 ACM 但是专注度远超常人的人。

学习 Rust 大概也是需要高度的专注度。让我试一下 ACM 的入门题目 A+B 吧!

2. 题目地址

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

3. 创建工程

cd ~/play/rust
cargo new two-sum
cd two-sum
nvim src/main.rs

4. 抄写暴力求解的答案

学习的第一步就是抄写标准答案, 并且这个解法还应当是不费脑子的。 循序渐进才符合认知。

https://leetcode.cn/problems/two-sum/solutions/2326193/dong-hua-cong-liang-shu-zhi-he-zhong-wo-0yvmj/

struct Solution;impl Solution
{pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32>{for i in 0..nums.len(){for j in j+1..nums.len(){if nums[i] + nums[j] == target{return vec![i as i32, j as i32];}}}unreachable!()}
}fn main()
{let nums = vec![2, 7, 11, 16];let target = 9;let result = Solution::two_sum(nums, target);println!("{:?}", result);
}

struct Solution 是在干啥

定义了一个空的结构体 Solution。

impl Solution 是在干事

为结构体 Solution 定义方法或关联函数。

vec! 是啥

vec! 是一个宏, 用来快速创建一个 Vec<T>

unreachable!() 是在干啥

unreachable!() 是一个宏,用于标记程序中不可能到达的代码路径。如果运行到了它, 会触发一个运行时错误,并终止错误。

对应的 C++ 代码

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {for (int i=0; i<nums.size(); i++){for (int j=i+1; j<nums.size(); j++){if (nums[i] + nums[j] == target){return {i, j};}}}return {};}
};

总结

好,不贪多,这次稍微接触练习了 rust 的 vec,用暴力方式做了 two-sum 的求解: 两重循环分别遍历数组。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com