aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--find_original_typed_str1.c26
-rw-r--r--find_original_typed_str1.py28
2 files changed, 54 insertions, 0 deletions
diff --git a/find_original_typed_str1.c b/find_original_typed_str1.c
new file mode 100644
index 0000000..ce60027
--- /dev/null
+++ b/find_original_typed_str1.c
@@ -0,0 +1,26 @@
+// 3330. Find the Original Typed String I
+#include "leetcode.h"
+
+/*
+ * alice is attmpting to type a specific string on her computer. however, she
+ * tends to be clumsy and may press a key for too long, resulting a character
+ * being typed multiple times. although alice tried to focus on her typing, she
+ * is aware that she may still have done this at least once. you are given a
+ * string 'word', which represents the final output displayed on alices screen.
+ * return the total number of possible original strings that alice might have
+ * intended to type.
+ */
+
+int possibleStringCount(char *word) {
+ int n = strlen(word), ans = n;
+ for (int i = 1; i < n; ++i)
+ ans -= word[i] != word[i - 1];
+ return ans;
+}
+
+int main() {
+ char *w1 = "abbcccc", *w2 = "abcd", *w3 = "aaaa";
+ printf("%d\n", possibleStringCount(w1)); // expect: 5
+ printf("%d\n", possibleStringCount(w2)); // expect: 1
+ printf("%d\n", possibleStringCount(w3)); // expect: 4
+}
diff --git a/find_original_typed_str1.py b/find_original_typed_str1.py
new file mode 100644
index 0000000..d4d59b0
--- /dev/null
+++ b/find_original_typed_str1.py
@@ -0,0 +1,28 @@
+# 3330. Find the Original Typed String I
+from itertools import groupby
+
+"""
+alice is attmpting to type a specific string on her computer. however, she
+tends to be clumsy and may press a key for too long, resulting a character
+being typed multiple times. although alice tried to focus on her typing, she
+is aware that she may still have done this at least once. you are given a
+string 'word', which represents the final output displayed on alices screen.
+return the total number of possible original strings that alice might have
+intended to type.
+"""
+
+
+class Solution(object):
+ def possibleStringCount(self, word):
+ """
+ :type word: str
+ :rtype: int
+ """
+ return len(word) - len(list(groupby(word))) + 1
+
+
+if __name__ == "__main__":
+ obj = Solution()
+ print(obj.possibleStringCount(word="abbcccc"))
+ print(obj.possibleStringCount(word="abcd"))
+ print(obj.possibleStringCount(word="aaaa"))