Try   HackMD

Rust leetcode record

tags: rust leetcode record

目的

  • 使用 rust 刷 leetcode 加深 rust 熟練度

題目

1491

理解題目

  • 得到一個 i32 Vec,求去掉最大 & 最小值後的平均數

解題思路

  • 取得可修改的 vec 後做排序
  • 取得頭尾以外的數字
  • 剩餘的數字做平均計算
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

不熟悉的點

  • 取得 input vec 的可修改版本,目前是直接 clone 一個可修改的新 vec,應該有更好的做法
  • 學習到 vec 的 sort 用法
  • 取 vec 特定 index 的寫法
// 包含 index1 不包含 index2
&vec[index1..index2]

// 包含 index3 & index4
&vec[index3..=index4]
  • 學習到 vec 的 iter & sum 用法
  • 學習到 as TYPE 的用法

1822

理解題目

  • 將 vec 中的所有數字的相乘結果分成三類
    • 大於 0
    • 小於 0
    • 等於 0

解題思路

  • 對每一個數字做處理,將數字分成三類
    • 大於 0 => 返回 1
    • 小於 0 => 返回 -1
    • 等於 0 => 返回 0
  • 最後相乘
  • Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

不熟悉的點

  • 沒考慮到超出數字類型大小的問題
  • 一開始直接使用官網查到的 fn product 全部相乘,直接溢位

59

理解題目

  • 返回 input 個數 n 的 vec 結果
  • 從最左上方開始順時針依序填滿該 vec

解題思路

不熟悉的點

模板

理解題目

解題思路

不熟悉的點