aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--challenge-115/ziameraj16/README.md52
-rw-r--r--challenge-115/ziameraj16/java/LargestMultiple.java39
2 files changed, 55 insertions, 36 deletions
diff --git a/challenge-115/ziameraj16/README.md b/challenge-115/ziameraj16/README.md
index d066640c97..ff4bd72a2f 100644
--- a/challenge-115/ziameraj16/README.md
+++ b/challenge-115/ziameraj16/README.md
@@ -1,47 +1,27 @@
-# Next Palindrome Number
+# Largest Multiple
## Java Solution
To compile the code run
```java
-javac NextPalindromeNumber.java
+javac LargestMultiple.java
```
To run
```java
-java NextPalindromeNumber
+java LargestMultiple
```
### Example
```bash
-/perlweeklychallenge-club/challenge-114/ziameraj16/java$ javac NextPalindromeNumber.java
-/perlweeklychallenge-club/challenge-114/ziameraj16/java$ java NextPalindromeNumber
-Enter the number
-1234
-1331
-/perlweeklychallenge-club/challenge-114/ziameraj16/java$ java NextPalindromeNumber
-Enter the number
-999
-1001
-```
-
-# Higher Integer Sets Bits
-## Java Solution
-
-To compile the code run
-```java
-javac HigherIntegerSetBits.java
-```
-To run
-```java
-java HigherIntegerSetBits
-```
-### Example
-```bash
-/perlweeklychallenge-club/challenge-114/ziameraj16/java$ javac HigherIntegerSetBits.java
-/perlweeklychallenge-club/challenge-114/ziameraj16/java$ java HigherIntegerSetBits
-Enter the number
-3
-5
-/perlweeklychallenge-club/challenge-114/ziameraj16/java$ java HigherIntegerSetBits
-Enter the number
-12
-17
+/perlweeklychallenge-club/challenge-115/ziameraj16/java$ javac LargestMultiple.java
+/perlweeklychallenge-club/challenge-115/ziameraj16/java$ java LargestMultiple
+Enter comma separate numbers
+1,0,2,6
+Output: 6210
+/perlweeklychallenge-club/challenge-115/ziameraj16/java$ java LargestMultiple
+Enter comma separate numbers
+1,4,2,8
+Output: 8412
+/perlweeklychallenge-club/challenge-115/ziameraj16/java$ java LargestMultiple
+Enter comma separate numbers
+4,1,7,6
+Output: 7614
```
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--;
+ }
+ }
+ }
+}
+