aboutsummaryrefslogtreecommitdiff
path: root/challenge-269/deadmarshal/java/Ch2.java
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-05-17 10:44:30 +0100
committerGitHub <noreply@github.com>2024-05-17 10:44:30 +0100
commit6ef717acfb89bab3b62c0beebd56ff9883ca4f70 (patch)
tree75e53fbf2a346446c49128aebe9426706d84d85f /challenge-269/deadmarshal/java/Ch2.java
parent4c82c665be83d12cf9bcd5c0443fa678eb51198c (diff)
parent974e4b99fbb075faaf1847a5fb8c29f7f4f37609 (diff)
downloadperlweeklychallenge-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.java35
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 {
+ }
+}
+