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 - 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
}
}
题解 3 - 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