到今天也已经是第 9 天了,讲了颇多东西但是可能没有这麽完整或明确,所以这篇主要拿来复习之前的内容。
这样应该会对刚学习这个语言的人比较有帮助。
或许有些人会略过这篇吧。
但是没关系,会跟看过不是一个档次的,需要学并且实际练题才能真正的知道如何使用,owob
标题英文不知道会不会比较多人看
首先是 1920. Build Array from Permutation
impl Solution {
pub fn build_array(nums: Vec<i32>) -> Vec<i32> {
let mut ans: Vec<i32> = Vec::new();
for &i in nums.iter() {
ans.push(nums[i as usize]);
}
ans
}
}
这题应该相当简单,就只是直接去以阵列中的数字去指向他的数字
但需要注意的是 i as usize 可能这边我还没有讲解过。
i as usize 就是将 i 这个数字的型别直接转成 usize
但是要注意的是如果说 i64 as i8 那就会把他直接截断
也就是超过 i8 大小以後的都会不采用。
然後写的时候由於是使用 nums 里面的东西进行操作所以记得在 i 前面加一个 &
1929 Concatenation-Of-Array
impl Solution {
pub fn get_concatenation(nums: Vec<i32>) -> Vec<i32> {
let L = nums.len();
let mut ans: Vec<i32> = Vec::new();
for i in 0..L {
ans.push(nums[i]);
}
for i in 0..L {
ans.push(nums[i]);
}
ans
}
}
这题的话我就直接使用 Vec 内建的 len 去做操作 len 顾名思义就是可以取得 Vec 里面的值的个数。
并且,如果你不想再定义一个 ans 的 Vec 出来,这题也能直接用 nums 去做操作
impl Solution {
pub fn get_concatenation(mut nums: Vec<i32>) -> Vec<i32> {
let L = nums.len();
for i in 0..L {
nums.push(nums[i]);
}
nums
}
}
就像这样,需要注意的点只有 nums 传入的时候要改成 mut 型式改为可变。
1672 Richest-Customer-Wealth/
impl Solution {
pub fn maximum_wealth(accounts: Vec<Vec<i32>>) -> i32 {
let mut ans = 0;
for i in 0..accounts.len() {
let mut now = 0;
for j in &accounts[i] {
now += j;
}
ans = std::cmp::max(now, ans);
}
ans
}
}
这边我们能够看到的是,题目示范了 二维阵列的表示法。
後面的话就是直接巢状回圈,只不过当初在写这题时就在思考, Rust 有没有像 C++ 一样的 max() 函数
找了找还真的有,
Docs
从这个就可以知道了
喔对,顺便讲一下, Rust 他几乎每个套件都有所谓的 Docs 基本上在 Github 上都会写这个的网址,就算没有也能直接在 doc.rust-lang.org 上找到你想用的套件的说明
包括 STD 库,所以这是一个非常好去学习的一个方式
impl ParkingSystem {
fn new(big: i32, medium: i32, small: i32) -> Self {
Self {
inside: vec![big, medium, small],
}
}
fn add_car(&mut self, car_type: i32) -> bool {
if self.inside[(car_type - 1) as usize] > 0 {
self.inside[(car_type - 1) as usize] -= 1;
return true;
}
return false;
}
}
那这个就是今天的最後一题了,这个就跟我昨天所说的差不多, impl 的使用,那以上基本没有要注意的部分了,
如果还是不太了解这题怎麽写的可以回去看 impl 的说明或是直接在下面提问喔~
今天在学校真的有够忙害我这篇这麽水
假如说今天有一个问题,有三种不同的解法,必须选择指数越小的,时间复杂度越小! 所以以下这个例子可以知...
要开发Android的App有许多的方法,目前以Android Studio与Unity最为多人使用...
本日文章没有前言XD 但没有前言真的有点怪怪的,总之本日文章想要分享过去我在使用 Grid 跟 Fl...
今天要来说明Angular专案内部各资料的功能 让我们从上往下讲吧 e2e: 端对端测试(end-t...
这是.net core 空专案创建出来预设项目 .NET Core MVC专案创建方式 可以看到预...