diff options
| author | Ali <adeadmarshal@gmail.com> | 2025-05-24 08:30:06 +0330 |
|---|---|---|
| committer | Ali <adeadmarshal@gmail.com> | 2025-05-24 08:30:06 +0330 |
| commit | 128826a5e5fde3dad004c8a1b7dc64ff98f76214 (patch) | |
| tree | 285e37290a7e9651cbeb60bc364e42b9942df05a /challenge-322/deadmarshal/java | |
| parent | fe988cb221822fa23bc445bd25fe87682f2927ca (diff) | |
| download | perlweeklychallenge-club-128826a5e5fde3dad004c8a1b7dc64ff98f76214.tar.gz perlweeklychallenge-club-128826a5e5fde3dad004c8a1b7dc64ff98f76214.tar.bz2 perlweeklychallenge-club-128826a5e5fde3dad004c8a1b7dc64ff98f76214.zip | |
TWC322
Diffstat (limited to 'challenge-322/deadmarshal/java')
| -rw-r--r-- | challenge-322/deadmarshal/java/Ch1.java | 27 | ||||
| -rw-r--r-- | challenge-322/deadmarshal/java/Ch2.java | 24 |
2 files changed, 51 insertions, 0 deletions
diff --git a/challenge-322/deadmarshal/java/Ch1.java b/challenge-322/deadmarshal/java/Ch1.java new file mode 100644 index 0000000000..e0228f1d7d --- /dev/null +++ b/challenge-322/deadmarshal/java/Ch1.java @@ -0,0 +1,27 @@ +import java.util.Stack; + +public class Ch1 { + public static void main(String[] args) { + System.out.println(string_format("ABC-D-E-F", 3)); + System.out.println(string_format("A-BC-D-E", 2)); + System.out.println(string_format("-A-B-CD-E", 4)); + } + + private static String string_format(String s, int i) { + s = s.replace("-", ""); + StringBuilder sb = new StringBuilder(); + int t = 0, rem = s.length() % i; + if (rem == 0) rem = i; + for (int j = 0; j < s.length(); ++j) { + sb.append(s.charAt(j)); + ++t; + if (t == rem) { + t = 0; + rem = i; + if (j != s.length() - 1) sb.append('-'); + } + } + return sb.toString(); + } +} + diff --git a/challenge-322/deadmarshal/java/Ch2.java b/challenge-322/deadmarshal/java/Ch2.java new file mode 100644 index 0000000000..427b527a79 --- /dev/null +++ b/challenge-322/deadmarshal/java/Ch2.java @@ -0,0 +1,24 @@ +import java.util.Arrays; + +public class Ch2 { + public static void main(String[] args) { + System.out.println(Arrays.toString(rank_array(new int[]{55, 22, 44, 33}))); + System.out.println(Arrays.toString(rank_array(new int[]{10, 10, 10}))); + System.out.println(Arrays.toString(rank_array(new int[]{5, 1, 1, 4, 3}))); + } + + private static int[] rank_array(int[] arr) { + int n = arr.length; + int[] t = arr.clone(); + Arrays.sort(t); + int m = 0; + for (int i = 0; i < n; ++i) { + if ((i == 0) || (t[i] != t[i - 1])) t[m++] = t[i]; + } + int[] ans = new int[n]; + for (int i = 0; i < n; ++i) + ans[i] = Arrays.binarySearch(t, 0, m, arr[i]) + 1; + return ans; + } +} + |
