美文网首页
如何用Rust快乐的刷leetcode

如何用Rust快乐的刷leetcode

作者: Gascognya | 来源:发表于2020-11-11 16:45 被阅读0次

rust最大的一个好处是,在本地pass几个测试用例,提交基本就是一次过。
很少被各种各种边界条件绊倒,逻辑上没问题基本就是放心飞。
(想起之前被python暴打的经历)

rust的单元测试非常爽,尤其在有RA的情况下。


cargo开个lib项目

cargo的项目会自动配置上git,这也将方便我们上传。
可以再单独立一个文件用来保存特殊的数据结构。

pub mod datastructure;
use datastructure::*;

pub struct Solution;

impl Solution {
    pub fn num_identical_pairs(nums: Vec<i32>) -> i32 {
        let mut count = 0;
        let len = nums.len();
        for index in 0..len {
            for i in index + 1..len {
                if nums[i] == nums[index] {
                    count += 1;
                }
            }
        }
        count
    }
}

#[cfg(test)]
mod tests {
    use super::datastructure;
    use super::Solution;
    #[test]
    fn code1512() {
        // 1512. 好数对的数目
        // 给你一个整数数组 nums 。
        // 如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,
        // 就可以认为这是一组 好数对 。
        // 返回好数对的数目。

        assert_eq!(Solution::num_identical_pairs(vec![1, 2, 3, 1, 1, 3]), 4);
        assert_eq!(Solution::num_identical_pairs(vec![1, 1, 1, 1]), 6);
        assert_eq!(Solution::num_identical_pairs(vec![1, 2, 3]), 0);
    }
}

在添加新内容时我们可以按照如下顺序,方便对照操作

  • 函数1
  • 函数2
  • 函数3
  • 测试3
  • 测试2
  • 测试1
RA的单元测试

另外我们也可以在vscode中加些snippets


代码片段

相关文章

网友评论

      本文标题:如何用Rust快乐的刷leetcode

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