添加 1005.K次取反后最大化的数组和 Rust版本

添加 1005.K次取反后最大化的数组和 Rust版本
This commit is contained in:
cezarbbb
2022-07-29 18:49:28 +08:00
parent b2df4ad5e5
commit 50d497a834

View File

@ -227,6 +227,31 @@ var largestSumAfterKNegations = function(nums, k) {
};
```
### Rust
```Rust
impl Solution {
pub fn largest_sum_after_k_negations(nums: Vec<i32>, k: i32) -> i32 {
let mut nums = nums;
let mut k = k;
let len = nums.len();
nums.sort_by(|a, b| b.abs().cmp(&a.abs()));
for i in 0..len {
if nums[i] < 0 && k > 0 {
nums[i] *= -1;
k -= 1;
}
}
if k % 2 == 1 { nums[len - 1] *= -1; }
let mut result = 0;
for num in nums {
result += num;
}
result
}
}
```
### C
```c