diff options
| author | deadmarshal <adeadmarshal@gmail.com> | 2024-05-17 02:01:27 -0400 |
|---|---|---|
| committer | deadmarshal <adeadmarshal@gmail.com> | 2024-05-17 02:01:27 -0400 |
| commit | 974e4b99fbb075faaf1847a5fb8c29f7f4f37609 (patch) | |
| tree | 1b062949ccaf6df9c443d57608ef018e03db8bb4 /challenge-269/deadmarshal/java/Ch2.java | |
| parent | 71c7bc98dd417eea21d8d731b35edb89bdd153f9 (diff) | |
| download | perlweeklychallenge-club-974e4b99fbb075faaf1847a5fb8c29f7f4f37609.tar.gz perlweeklychallenge-club-974e4b99fbb075faaf1847a5fb8c29f7f4f37609.tar.bz2 perlweeklychallenge-club-974e4b99fbb075faaf1847a5fb8c29f7f4f37609.zip | |
TWC269
Diffstat (limited to 'challenge-269/deadmarshal/java/Ch2.java')
| -rw-r--r-- | challenge-269/deadmarshal/java/Ch2.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/challenge-269/deadmarshal/java/Ch2.java b/challenge-269/deadmarshal/java/Ch2.java new file mode 100644 index 0000000000..910f357eab --- /dev/null +++ b/challenge-269/deadmarshal/java/Ch2.java @@ -0,0 +1,35 @@ +import java.util.ArrayList; +import java.util.List; + +public class Ch2 { + public static void main(String[] args) { + List<Integer> list1 = new ArrayList<>(List.of(2, 1, 3, 4, 5)); + List<Integer> list2 = new ArrayList<>(List.of(3, 2, 4)); + List<Integer> list3 = new ArrayList<>(List.of(5, 4, 3, 8)); + try { + System.out.println(distribute_elements(list1)); + System.out.println(distribute_elements(list2)); + System.out.println(distribute_elements(list3)); + } catch (NotEnoughElements e) { + System.err.println(e.getMessage()); + } + } + + private static List<Integer> distribute_elements(List<Integer> list) + throws NotEnoughElements { + if (list.size() < 2) throw new NotEnoughElements(); + List<Integer> ret1 = new ArrayList<>(List.of(list.removeFirst())); + List<Integer> ret2 = new ArrayList<>(List.of(list.removeFirst())); + while (!list.isEmpty()) { + int e = list.removeFirst(); + if (ret1.getLast() > ret2.getLast()) ret1.add(e); + else ret2.add(e); + } + ret1.addAll(ret2); + return ret1; + } + + private static class NotEnoughElements extends Exception { + } +} + |
