aboutsummaryrefslogtreecommitdiff
path: root/challenge-329/deadmarshal/java
diff options
context:
space:
mode:
authorAli <adeadmarshal@gmail.com>2025-07-08 11:14:43 +0330
committerAli <adeadmarshal@gmail.com>2025-07-08 11:14:43 +0330
commit0ea99ffa0f7495899afdcf95ef7cf9a3f224b940 (patch)
tree6f33adcfaaaae33772539fcb2f38bebcc917d97d /challenge-329/deadmarshal/java
parentbd7fce4bd5d085c209a213f2daca1e79799c9e87 (diff)
downloadperlweeklychallenge-club-0ea99ffa0f7495899afdcf95ef7cf9a3f224b940.tar.gz
perlweeklychallenge-club-0ea99ffa0f7495899afdcf95ef7cf9a3f224b940.tar.bz2
perlweeklychallenge-club-0ea99ffa0f7495899afdcf95ef7cf9a3f224b940.zip
TWC329
Diffstat (limited to 'challenge-329/deadmarshal/java')
-rw-r--r--challenge-329/deadmarshal/java/Ch1.java27
-rw-r--r--challenge-329/deadmarshal/java/Ch2.java34
2 files changed, 61 insertions, 0 deletions
diff --git a/challenge-329/deadmarshal/java/Ch1.java b/challenge-329/deadmarshal/java/Ch1.java
new file mode 100644
index 0000000000..b2302f5c4a
--- /dev/null
+++ b/challenge-329/deadmarshal/java/Ch1.java
@@ -0,0 +1,27 @@
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+public class Ch1 {
+ public static void main(String[] args) {
+ System.out.println(counter_integers("the1weekly2challenge2"));
+ System.out.println(counter_integers("go21od1lu5c7k"));
+ System.out.println(counter_integers("4p3e2r1l"));
+ }
+
+ private static List<String> counter_integers(String word) {
+ Set<String> s = new HashSet<>();
+ int n = word.length();
+ for (int i = 0; i < n; ++i) {
+ if (Character.isDigit(word.charAt(i))) {
+ while ((i < n) && (word.charAt(i) == '0')) ++i;
+ int j = i;
+ while ((j < n) && (Character.isDigit(word.charAt(j)))) ++j;
+ s.add(word.substring(i, j));
+ i = j;
+ }
+ }
+ return s.stream().toList();
+ }
+}
+
diff --git a/challenge-329/deadmarshal/java/Ch2.java b/challenge-329/deadmarshal/java/Ch2.java
new file mode 100644
index 0000000000..c90d343ea6
--- /dev/null
+++ b/challenge-329/deadmarshal/java/Ch2.java
@@ -0,0 +1,34 @@
+import java.util.HashSet;
+import java.util.Set;
+
+public class Ch2 {
+ public static void main(String[] args) {
+ System.out.println(nice_string("YaaAho"));
+ System.out.println(nice_string("cC"));
+ System.out.println(nice_string("A"));
+ }
+
+ private static String nice_string(String s) {
+ int n = s.length(), k = -1, max = 0;
+ for (int i = 0; i < n; ++i) {
+ Set<Character> sc = new HashSet<>();
+ for (int j = i; j < n; ++j) {
+ sc.add(s.charAt(j));
+ boolean ok = true;
+ for (char a : sc) {
+ char b = (char) (a ^ 32);
+ if (!(sc.contains(a) && sc.contains(b))) {
+ ok = false;
+ break;
+ }
+ }
+ if (ok && (max < j - i + 1)) {
+ max = j - i + 1;
+ k = i;
+ }
+ }
+ }
+ return k == -1 ? "" : s.substring(k, k + max);
+ }
+}
+