diff options
Diffstat (limited to 'challenge-207/eric-cheung/python')
| -rwxr-xr-x | challenge-207/eric-cheung/python/ch-1.py | 30 | ||||
| -rwxr-xr-x | challenge-207/eric-cheung/python/ch-2.py | 32 |
2 files changed, 62 insertions, 0 deletions
diff --git a/challenge-207/eric-cheung/python/ch-1.py b/challenge-207/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..57ddd9e817 --- /dev/null +++ b/challenge-207/eric-cheung/python/ch-1.py @@ -0,0 +1,30 @@ +
+arrKeyBoardRow = ["qwertyuiop", "asdfghjkl", "zxcvbnm"]
+
+arrInputWords = ["Hello", "Alaska", "Dad", "Peace"] ## Example 1
+## arrInputWords = ["OMG", "Bye"] ## Example 2
+
+arrKeyBoardChar = []
+for arrLoop in arrKeyBoardRow:
+ arrKeyBoardChar.append(list(arrLoop))
+
+arrOutputWords = []
+
+for arrLoop in arrInputWords:
+
+ strLoopLower = arrLoop.lower()
+
+ for nIndx in range(0, len(arrKeyBoardChar)):
+ if strLoopLower[0] in arrKeyBoardChar[nIndx]:
+ break
+
+ bSameRow = True
+ for nLoop in range(1, len(arrLoop)):
+ if strLoopLower[nLoop] not in arrKeyBoardChar[nIndx]:
+ bSameRow = False
+ break
+
+ if bSameRow:
+ arrOutputWords.append(arrLoop)
+
+print (arrOutputWords)
diff --git a/challenge-207/eric-cheung/python/ch-2.py b/challenge-207/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..b2da387f6b --- /dev/null +++ b/challenge-207/eric-cheung/python/ch-2.py @@ -0,0 +1,32 @@ +
+## https://gist.github.com/restrepo/c5f8f9fd5504a3f93ae34dd10a5dd6b0
+
+def hIndex(arrCitation):
+
+ ### https://github.com/kamyu104/LeetCode/blob/master/Python/h-index.py
+ ### :type arrCitation: List[int]
+ ### :rtype: int
+
+ ### Given an array of citations (each citation is a non-negative integer)
+ ### of a researcher, write a function to compute the researcher's h-index.
+ ###
+ ### According to the definition of h-index on Wikipedia:
+ ### "A scientist has index h if h of his/her N papers have
+ ### at least h citations each, and the other N − h papers have
+ ### no more than h citations each."
+ ###
+ ### For example, given arrCitation = [3, 0, 6, 1, 5],
+ ### which means the researcher has 5 papers in total
+ ### and each of them had received 3, 0, 6, 1, 5 citations respectively.
+ ### Since the researcher has 3 papers with at least 3 citations each and
+ ### the remaining two with no more than 3 citations each, his h-index is 3.
+ ###
+ ### Note: If there are several possible values for h, the maximum one is taken as the h-index.
+
+ return sum(nLoop >= nIndx + 1 for nIndx, nLoop in enumerate(sorted(list(arrCitation), reverse = True)))
+
+
+## arrInputCitation = [10, 8, 5, 4, 3] ## Example 1
+arrInputCitation = [25, 8, 5, 3, 3] ## Example 2
+
+print (hIndex(arrInputCitation))
|
