diff options
| author | rir <rirans@comcast.net> | 2025-02-09 23:21:34 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-09 23:21:34 +0000 |
| commit | 6f080fc3c36c5dd16f6ffb1b6e643fac6babc84b (patch) | |
| tree | 5b7d8fa04b96268238b7b6ce520a76649b4d8be2 /challenge-307/deadmarshal/java | |
| parent | 9380fe143cc5ce16d97cd6fcc2f2f8d18151e4d3 (diff) | |
| parent | 20203255d0f29f170a3c0cd55a737c0b2981597f (diff) | |
| download | perlweeklychallenge-club-6f080fc3c36c5dd16f6ffb1b6e643fac6babc84b.tar.gz perlweeklychallenge-club-6f080fc3c36c5dd16f6ffb1b6e643fac6babc84b.tar.bz2 perlweeklychallenge-club-6f080fc3c36c5dd16f6ffb1b6e643fac6babc84b.zip | |
Merge branch 'manwar:master' into work
Diffstat (limited to 'challenge-307/deadmarshal/java')
| -rw-r--r-- | challenge-307/deadmarshal/java/Ch1.java | 21 | ||||
| -rw-r--r-- | challenge-307/deadmarshal/java/Ch2.java | 24 |
2 files changed, 45 insertions, 0 deletions
diff --git a/challenge-307/deadmarshal/java/Ch1.java b/challenge-307/deadmarshal/java/Ch1.java new file mode 100644 index 0000000000..091b91b204 --- /dev/null +++ b/challenge-307/deadmarshal/java/Ch1.java @@ -0,0 +1,21 @@ +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class Ch1 { + public static void main(String[] args) { + System.out.println(check_order(new int[]{5, 2, 4, 3, 1})); + System.out.println(check_order(new int[]{1, 2, 1, 1, 3})); + System.out.println(check_order(new int[]{3, 1, 3, 2, 3})); + } + + private static List<Integer> check_order(int[] arr) { + List<Integer> ret = new ArrayList<>(); + int[] sorted = Arrays.copyOf(arr, arr.length); + Arrays.sort(sorted); + for (int i = 0; i < sorted.length; ++i) { + if (sorted[i] != arr[i]) ret.add(i); + } + return ret; + } +} diff --git a/challenge-307/deadmarshal/java/Ch2.java b/challenge-307/deadmarshal/java/Ch2.java new file mode 100644 index 0000000000..a4ef4c615d --- /dev/null +++ b/challenge-307/deadmarshal/java/Ch2.java @@ -0,0 +1,24 @@ +import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class Ch2 { + public static void main(String[] args) { + System.out.println( + find_anagrams(new String[]{"acca", "dog", "god", "perl", "repl"})); + System.out.println( + find_anagrams(new String[]{"abba", "baba", "aabb", "ab", "ab"})); + } + + private static int find_anagrams(String[] arr) { + int sum = 1; + for (int i = 0; i < arr.length; ++i) { + arr[i] = Stream.of(arr[i].split("")) + .sorted() + .collect(Collectors.joining()); + } + for (int i = 1; i < arr.length; ++i) + if (!Objects.equals(arr[i - 1], arr[i])) sum++; + return sum; + } +} |
