diff options
| author | Robbie Hatley <Hatley.Software@gmail.com> | 2025-02-12 08:49:50 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-12 08:49:50 -0800 |
| commit | 90e76170320e19049ded67767ba306d22a85a402 (patch) | |
| tree | 63a46de5c36b53d47b65177784f83a9c896e4890 /challenge-307/deadmarshal/java | |
| parent | 8800ea7f8b07503598d4f784412b600e98a5def0 (diff) | |
| parent | d8179c22c12d35d4201bc8e3f759a4a8009e6b1b (diff) | |
| download | perlweeklychallenge-club-90e76170320e19049ded67767ba306d22a85a402.tar.gz perlweeklychallenge-club-90e76170320e19049ded67767ba306d22a85a402.tar.bz2 perlweeklychallenge-club-90e76170320e19049ded67767ba306d22a85a402.zip | |
Merge branch 'manwar:master' into rh307
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; + } +} |
