diff options
| author | ziameraj16 <ziameraj16@gmail.com> | 2021-06-02 17:09:39 +0100 |
|---|---|---|
| committer | ziameraj16 <ziameraj16@gmail.com> | 2021-06-02 17:09:39 +0100 |
| commit | 717cb4975a04df17b5fef5b5a8f6780ce3c33f22 (patch) | |
| tree | 058d793a71ed452b487fd80a7b70ab20fa933cee /challenge-115/ziameraj16/java/LargestMultiple.java | |
| parent | 84881f538c112b2b0f1153177b6212d0707f469d (diff) | |
| download | perlweeklychallenge-club-717cb4975a04df17b5fef5b5a8f6780ce3c33f22.tar.gz perlweeklychallenge-club-717cb4975a04df17b5fef5b5a8f6780ce3c33f22.tar.bz2 perlweeklychallenge-club-717cb4975a04df17b5fef5b5a8f6780ce3c33f22.zip | |
Add java solution for Largest Multiple
Diffstat (limited to 'challenge-115/ziameraj16/java/LargestMultiple.java')
| -rw-r--r-- | challenge-115/ziameraj16/java/LargestMultiple.java | 39 |
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--; + } + } + } +} + |
