aboutsummaryrefslogtreecommitdiff
path: root/challenge-234/packy-anderson/java/Ch2.java
diff options
context:
space:
mode:
authorRogerBW <Firedrake@users.noreply.github.com>2023-09-18 08:09:40 +0000
committerGitHub <noreply@github.com>2023-09-18 08:09:40 +0000
commit0bd7ff4bf2020a6e93cd6be4822761d9ced0f372 (patch)
tree4dfb5d6103230edc26fb0fc8e6bae2c03b93698b /challenge-234/packy-anderson/java/Ch2.java
parente9f72945c82b2d5dce591683d66adee5b2d8c469 (diff)
parent8de70a3000498e9b1ec8796913973c317b62391d (diff)
downloadperlweeklychallenge-club-0bd7ff4bf2020a6e93cd6be4822761d9ced0f372.tar.gz
perlweeklychallenge-club-0bd7ff4bf2020a6e93cd6be4822761d9ced0f372.tar.bz2
perlweeklychallenge-club-0bd7ff4bf2020a6e93cd6be4822761d9ced0f372.zip
Merge branch 'manwar:master' into rogerbw-challenge-234
Diffstat (limited to 'challenge-234/packy-anderson/java/Ch2.java')
-rw-r--r--challenge-234/packy-anderson/java/Ch2.java48
1 files changed, 48 insertions, 0 deletions
diff --git a/challenge-234/packy-anderson/java/Ch2.java b/challenge-234/packy-anderson/java/Ch2.java
new file mode 100644
index 0000000000..ec53d291f7
--- /dev/null
+++ b/challenge-234/packy-anderson/java/Ch2.java
@@ -0,0 +1,48 @@
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
+public class Ch2 {
+ public static ArrayList<int[]> findTriplets(int[] ints) {
+ ArrayList<int[]> solutions = new ArrayList<int[]>();
+ for (int i = 0; i < ints.length - 2; i++) {
+ for (int j = i + 1; j < ints.length - 1; j++) {
+ for (int k = j + 1; k < ints.length; k++) {
+ if (ints[i] != ints[j] &&
+ ints[j] != ints[k] &&
+ ints[i] != ints[k]) {
+ int triplet[] = {i, j, k};
+ solutions.add( triplet );
+ }
+ }
+ }
+ }
+ return solutions;
+ }
+
+ public static void solution(int[] ints) {
+ String joined = Arrays.stream(ints)
+ .mapToObj(String::valueOf)
+ .collect(Collectors.joining(", "));
+ System.out.println("Input: @ints = (" + joined + ")");
+ ArrayList<int[]> solutions = findTriplets(ints);
+ System.out.println(String.format("Output: %1$d", solutions.size()));
+ for (int[] solution : solutions) {
+ System.out.println(String.format(
+ "(%1$d, %2$d, %3$d) because %4$d != %5$d != %6$d",
+ solution[0], solution[1], solution[2],
+ ints[solution[0]], ints[solution[1]], ints[solution[2]]
+ ));
+ }
+ }
+ public static void main(String[] args) {
+ System.out.println("Example 1:");
+ solution(new int[] {4, 4, 2, 4, 3});
+
+ System.out.println("\nExample 2:");
+ solution(new int[] {1, 1, 1, 1, 1});
+
+ System.out.println("\nExample 3:");
+ solution(new int[] {4, 7, 1, 10, 7, 4, 1, 1});
+ }
+} \ No newline at end of file