aboutsummaryrefslogtreecommitdiff
path: root/challenge-280/deadmarshal/java
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-280/deadmarshal/java')
-rw-r--r--challenge-280/deadmarshal/java/Ch1.java17
-rw-r--r--challenge-280/deadmarshal/java/Ch2.java19
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-280/deadmarshal/java/Ch1.java b/challenge-280/deadmarshal/java/Ch1.java
new file mode 100644
index 0000000000..678ee12336
--- /dev/null
+++ b/challenge-280/deadmarshal/java/Ch1.java
@@ -0,0 +1,17 @@
+public class Ch1 {
+ public static void main(String[] args) {
+ System.out.println(twice_appearance("acbddbca"));
+ System.out.println(twice_appearance("abccd"));
+ System.out.println(twice_appearance("abcdabbb"));
+ }
+
+ private static char twice_appearance(String str) {
+ int[] counts = new int[26];
+ for (int i = 0; i < str.length(); ++i) {
+ int idx = str.charAt(i) - 'a';
+ if (counts[idx] != 0) return str.charAt(i);
+ counts[idx]++;
+ }
+ return '\0';
+ }
+}
diff --git a/challenge-280/deadmarshal/java/Ch2.java b/challenge-280/deadmarshal/java/Ch2.java
new file mode 100644
index 0000000000..c9512617b0
--- /dev/null
+++ b/challenge-280/deadmarshal/java/Ch2.java
@@ -0,0 +1,19 @@
+public class Ch2 {
+ public static void main(String[] args) {
+ System.out.println(count_asterisks("p|*e*rl|w**e|*ekly|"));
+ System.out.println(count_asterisks("perl"));
+ System.out.println(count_asterisks("th|ewe|e**|k|l***ych|alleng|e"));
+ }
+
+ private static int count_asterisks(String str) {
+ String[] arr = str.split("\\|");
+ int count = 0;
+ for (int i = 0; i < arr.length; ++i) {
+ if (i % 2 == 0) {
+ for (int j = 0; j < arr[i].length(); ++j)
+ if (arr[i].charAt(j) == '*') count++;
+ }
+ }
+ return count;
+ }
+}