rust遍历数组

有一个数组,如下:

let arr = [
    [1000, 2, 20],
    [1200, 0, 12],
    [1250, 1, 15],
    [1300, 3, 20],
    [1360, 0, 5],
];

我想让子数组第一个元素相减,也就是得到如下结果:

let arr = [
    [1000, 2, 20],
    [200, 0, 12],
    [50, 1, 15],
    [50, 3, 20],
    [60, 0, 5],
];

怎么写代码呢?一下短路了,大佬指导一下。

阅读 2.6k
1 个回答
fn main() {
    let mut arr = [
        [1000, 2, 20],
        [1200, 0, 12],
        [1250, 1, 15],
        [1300, 3, 20],
        [1360, 0, 5],
    ];
    for i in (1..arr.len()).rev() {
        let sub_arr1 = arr[i - 1];
        let sub_arr2 = &mut arr[i];
        sub_arr2[0] -= sub_arr1[0];
    }
    println!("{:?}", arr);
}
//输出:[[1000, 2, 20], [200, 0, 12], [50, 1, 15], [50, 3, 20], [60, 0, 5]]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进