From 7d6e5a9e7646e9254fdbaf7f3a3cac47c567f44f Mon Sep 17 00:00:00 2001 From: Mohammad Sajid Anwar Date: Mon, 29 Jul 2024 11:46:29 +0100 Subject: - Added solutions by Eric Cheung. - Added solutions by Thomas Kohler. - Added solutions by PokGoPun. - Added solutions by Mark Anderson. - Added solutions by Feng Chang. - Added solutions by E. Choroba. --- challenge-280/eric-cheung/python/ch-1.py | 19 +++++++++++++++++++ challenge-280/eric-cheung/python/ch-2.py | 14 ++++++++++++++ 2 files changed, 33 insertions(+) create mode 100755 challenge-280/eric-cheung/python/ch-1.py create mode 100755 challenge-280/eric-cheung/python/ch-2.py (limited to 'challenge-280/eric-cheung/python') diff --git a/challenge-280/eric-cheung/python/ch-1.py b/challenge-280/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..df33741859 --- /dev/null +++ b/challenge-280/eric-cheung/python/ch-1.py @@ -0,0 +1,19 @@ + +## Ref. +## https://leetcode.com/problems/first-letter-to-appear-twice/description/ +## https://medium.com/@ac.shreedhar/2351-first-letter-to-appear-twice-in-java-970f99e3f625 +## https://algo.monster/liteproblems/2351 + +def GetFirstAppearTwice (strFunc): + arrResult = [strFunc[0]] + for nIndx in range(1, len(strFunc)): + if strFunc[nIndx] in arrResult: + return strFunc[nIndx] + arrResult.append(strFunc[nIndx]) + return "" + +## strInput = "acbddbca" ## Example 1 +## strInput = "abccd" ## Example 2 +strInput = "abcdabbb" ## Example 3 + +print (GetFirstAppearTwice (strInput)) diff --git a/challenge-280/eric-cheung/python/ch-2.py b/challenge-280/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..d7bbc31000 --- /dev/null +++ b/challenge-280/eric-cheung/python/ch-2.py @@ -0,0 +1,14 @@ + +## Ref. +## https://leetcode.ca/2022-07-26-2315-Count-Asterisks/ + +## strInput = "p|*e*rl|w**e|*ekly|" ## Example 1 +## strInput = "perl" ## Example 2 +strInput = "th|ewe|e**|k|l***ych|alleng|e" ## Example 3 + +if strInput.count("|") < 2: + print (strInput.count("*")) +else: + arrSplit = strInput.split("|") + strResult = "".join([arrSplit[nIndx] for nIndx in range(len(arrSplit)) if nIndx % 2 == 0]) + print (strResult.count("*")) -- cgit