ixueaedu преди 2 години
родител
ревизия
e767eae335
променени са 2 файла, в които са добавени 36 реда и са изтрити 0 реда
  1. 17 0
      string_match/length_of_last_word.py
  2. 19 0
      string_match/plus_one.py

+ 17 - 0
string_match/length_of_last_word.py

@@ -0,0 +1,17 @@
+import pytest
+
+def lengthOfLastWord(s: str) -> int:
+    s = s.split()[-1]
+    return len(s)
+
+@pytest.mark.parametrize(
+    "s, expect",
+    [
+        ("Hello World", 5),
+        ("   fly me   to   the moon  ", 4),
+        ("luffy is still joyboy", 6)
+    ]
+)
+
+def test_cases(s, expect):
+    assert lengthOfLastWord(s) == expect

+ 19 - 0
string_match/plus_one.py

@@ -0,0 +1,19 @@
+from typing import List
+
+def plusOne(digits: List[int]) -> List[int]:
+    i = len(digits) - 1
+    digits[i] = digits[i] + 1
+    while i > 0:
+        if digits[i] == 10:
+            digits[i - 1] = digits[i - 1] + 1
+            digits[i] = 0
+            i -= 1
+        else:
+            break
+
+    if digits[0] == 10:
+        digits[0] = 0
+        digits.insert(0, 1)
+    return digits
+
+print(plusOne([9,9,9,0]))