Selaa lähdekoodia

Another problem done

master
Lachlan Jacob 5 vuotta sitten
vanhempi
commit
4e3bdd9058
3 muutettua tiedostoa jossa 35 lisäystä ja 0 poistoa
  1. 17
    0
      problems/561/main.rs
  2. 13
    0
      problems/561/problem.txt
  3. 5
    0
      problems/561/run.sh

+ 17
- 0
problems/561/main.rs Näytä tiedosto

@@ -0,0 +1,17 @@
use std::cmp::min;

pub fn array_pair_sum(mut nums: Vec<i32>) -> i32 {
let mut acc_sum = 0;
nums.sort();
for chunk in nums.chunks(2) {
if let [a, b] = chunk {
acc_sum += min(a, b);
}
}
acc_sum
}

pub fn main() {
println!("Expected: 4");
println!("Got: {}", array_pair_sum(vec![1, 4, 3, 2]));
}

+ 13
- 0
problems/561/problem.txt Näytä tiedosto

@@ -0,0 +1,13 @@
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possible.

Example 1:

Input: [1,4,3,2]

Output: 4
Explanation: n is 2, and the maximum sum of pairs is 4 = min(1, 2) + min(3, 4).

Note:

n is a positive integer, which is in the range of [1, 10000].
All the integers in the array will be in the range of [-10000, 10000].

+ 5
- 0
problems/561/run.sh Näytä tiedosto

@@ -0,0 +1,5 @@
#!/bin/bash

rustc main.rs
./main
rm main

Loading…
Peruuta
Tallenna