跳到主要内容

2574.左右元素和的差值

链接:2574.左右元素和的差值
难度:Easy
标签:数组、前缀和
简介:给你一个下标从 0 开始的整数数组 nums ,请你找出一个下标从 0 开始的整数数组 answer。

题解 1 - cpp

  • 编辑时间:2023-02-26
  • 执行用时:4ms
  • 内存消耗:10.8MB
  • 编程语言:cpp
  • 解法介绍:遍历。
class Solution {
public:
vector<int> leftRigthDifference(vector<int>& nums) {
int sum = 0;
for (auto &num : nums) sum += num;
vector<int> ans;
int left = 0;
for (auto &num : nums) {
ans.push_back(abs(sum - num - left));
sum -= num;
left += num;
}
return ans;
}
};

题解 2 - python

  • 编辑时间:2023-02-26
  • 执行用时:44ms
  • 内存消耗:15.2MB
  • 编程语言:python
  • 解法介绍:同上。
class Solution:
def leftRigthDifference(self, nums: List[int]) -> List[int]:
vsum = sum(nums)
ans = []
left = 0
for num in nums:
ans .append(abs(vsum - num - left))
vsum -= num
left += num
return ans

题解 3 - rust

  • 编辑时间:2023-02-26
  • 内存消耗:2MB
  • 编程语言:rust
  • 解法介绍:同上。
impl Solution {
pub fn left_rigth_difference(nums: Vec<i32>) -> Vec<i32> {
let mut sum = nums.iter().fold(0, |sum, cur| sum + cur);
let mut ans = vec![];
let mut left = 0;
for num in nums {
ans.push((sum - num - left).abs());
sum -= num;
left += num;
}
ans
}
}