diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-05-17 10:44:30 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-17 10:44:30 +0100 |
| commit | 6ef717acfb89bab3b62c0beebd56ff9883ca4f70 (patch) | |
| tree | 75e53fbf2a346446c49128aebe9426706d84d85f /challenge-269/deadmarshal/java/Ch2.java | |
| parent | 4c82c665be83d12cf9bcd5c0443fa678eb51198c (diff) | |
| parent | 974e4b99fbb075faaf1847a5fb8c29f7f4f37609 (diff) | |
| download | perlweeklychallenge-club-6ef717acfb89bab3b62c0beebd56ff9883ca4f70.tar.gz perlweeklychallenge-club-6ef717acfb89bab3b62c0beebd56ff9883ca4f70.tar.bz2 perlweeklychallenge-club-6ef717acfb89bab3b62c0beebd56ff9883ca4f70.zip | |
Merge pull request #10109 from deadmarshal/TWC269
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 { + } +} + |
