2025-07-10 14:13:01 +08:00
|
|
|
struct Solution;
|
|
|
|
impl Solution {
|
2025-07-25 15:01:48 +08:00
|
|
|
pub fn max_sum(mut nums: Vec<i32>) -> i32 {
|
|
|
|
nums.sort_by(|a,b| b.cmp(a));
|
|
|
|
let mut last = nums[0];
|
|
|
|
let mut ans = nums[0];
|
|
|
|
for i in 1..nums.len() {
|
|
|
|
let t = nums[i];
|
|
|
|
if t <= 0 {
|
|
|
|
break
|
2025-07-22 21:59:38 +08:00
|
|
|
}
|
2025-07-25 15:01:48 +08:00
|
|
|
if t == last {
|
|
|
|
continue;
|
2025-07-10 14:13:01 +08:00
|
|
|
}
|
2025-07-25 15:01:48 +08:00
|
|
|
last = t;
|
|
|
|
ans += t;
|
2025-07-10 14:13:01 +08:00
|
|
|
}
|
2025-07-25 15:01:48 +08:00
|
|
|
ans
|
2025-07-10 14:13:01 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
2025-07-25 15:01:48 +08:00
|
|
|
let sl = Solution::max_sum(vec![-1,-2]);
|
2025-07-10 14:13:01 +08:00
|
|
|
println!("{}", sl);
|
|
|
|
}
|