🗒️用 Rust 求子串绝对值最大
2023-9-4
| 2023-9-4
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
这两天学习了 rust 的语法
尝试使用 rust 来写今天的 leetcode 的每日一题
 
给你一个整数数组 nums 。一个子数组 [numsl, numsl+1, ..., numsr-1, numsr] 的 和的绝对值 为 abs(numsl + numsl+1 + ... + numsr-1 + numsr) 。
请你找出 nums 中 和的绝对值 最大的任意子数组(可能为空),并返回该 最大值 。
 
边查文档边写的代码:

编译错误提示

  • 忘记写 ;
  • 获取数组长度 len 写成 length
  • 未定义的结构体
  • 最后的返回没有分号
  • 计算最大绝对值函数的所有权
  • 所有权只读
 

修改的结果

 

总结

参看其他人写的代码
  • 直接使用 for i in 0..n 要比 nums.iter().enumerate() 要好一些
  • 数值型函数本身有 max min abs 函数,不需要自己写.
  • 计算时由于过程已经保存 dp 的结果也不用保存,只需要保存上一次的结果给下一次循环用即可.
  • rust 的语法确实很难描述,需要大量的实践,特别是开始写的时候变量的传递有些懵.
 
 
最终版本:
 
学习思考
  • 开发
  • rust
  • 机器学习记录Rust 小记
    目录