aboutsummaryrefslogtreecommitdiff
path: root/challenge-115/ziameraj16/java/LargestMultiple.java
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-06-02 17:14:54 +0100
committerGitHub <noreply@github.com>2021-06-02 17:14:54 +0100
commit64fa9b1a16cb3b07c48a76dc509074ae1e738b0b (patch)
tree89f484b7ce460fafbb0ffec8bcd9d7eaa7f578f9 /challenge-115/ziameraj16/java/LargestMultiple.java
parent84881f538c112b2b0f1153177b6212d0707f469d (diff)
parenta1b01d8106113516b5e659cfd983ef15eacced12 (diff)
downloadperlweeklychallenge-club-64fa9b1a16cb3b07c48a76dc509074ae1e738b0b.tar.gz
perlweeklychallenge-club-64fa9b1a16cb3b07c48a76dc509074ae1e738b0b.tar.bz2
perlweeklychallenge-club-64fa9b1a16cb3b07c48a76dc509074ae1e738b0b.zip
Merge pull request #4194 from ziameraj16/ziameraj16-challenge-115
Add java solution for Largest Multiple
Diffstat (limited to 'challenge-115/ziameraj16/java/LargestMultiple.java')
-rw-r--r--challenge-115/ziameraj16/java/LargestMultiple.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/challenge-115/ziameraj16/java/LargestMultiple.java b/challenge-115/ziameraj16/java/LargestMultiple.java
new file mode 100644
index 0000000000..ada2d9226a
--- /dev/null
+++ b/challenge-115/ziameraj16/java/LargestMultiple.java
@@ -0,0 +1,39 @@
+import java.util.*;
+import java.util.stream.Collectors;
+
+public class LargestMultiple {
+
+ public static void main(String[] args) {
+ Scanner scanner = new Scanner(System.in);
+ System.out.println("Enter comma separate numbers");
+ final String input = scanner.nextLine();
+ final List<Integer> list = Arrays.stream(input.split(",")).map(Integer::valueOf).collect(Collectors.toList());
+ System.out.print("Output: ");
+ getLargestMultiple(list).stream().forEach(System.out::print);
+ System.out.println();
+ }
+
+ public static List<Integer> getLargestMultiple(List<Integer> list) {
+ final List<Integer> sortedList = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
+ if (sortedList.get(sortedList.size() - 1) % 2 == 0) {
+ return sortedList;
+ } else {
+ int i = list.size() - 2;
+ while (true) {
+ if (sortedList.get(i) % 2 == 0) {
+ List<Integer> newList = new ArrayList<>(list.size());
+ for (int j = 0; j <= i - 1; j++) {
+ newList.add(sortedList.get(j));
+ }
+ for (int j = i + 1; j < list.size(); j++) {
+ newList.add(sortedList.get(j));
+ }
+ newList.add(sortedList.get(i));
+ return newList;
+ }
+ i--;
+ }
+ }
+ }
+}
+