aboutsummaryrefslogtreecommitdiff
path: root/challenge-329/deadmarshal/java/Ch2.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/Ch2.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/Ch2.java')
-rw-r--r--challenge-329/deadmarshal/java/Ch2.java34
1 files changed, 34 insertions, 0 deletions
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);
+ }
+}
+