66.py 855 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # 66. Plus One
  2. import sys
  3. from typing import List
  4. class Solution:
  5. def plusOne(self, digits: List[int]) -> List[int]:
  6. size: int = len(digits)
  7. i: int = size - 1
  8. while i >= 0:
  9. print(i)
  10. digits[i] += 1
  11. if digits[i] < 10:
  12. break
  13. digits[i] = 0
  14. if i == 0:
  15. digits.insert(0, 1)
  16. i -= 1
  17. pass
  18. return digits
  19. pass
  20. def main() -> int:
  21. def r(digits: List[int], exp: List[int]) -> None:
  22. ret: List[int] = Solution().plusOne(digits.copy())
  23. print(f"Solution().plusOne({digits}) = {ret} | exp: {exp}")
  24. pass
  25. r([1, 2, 3], [1, 2, 4])
  26. r([4, 3, 2, 1], [4, 3, 2, 2])
  27. r([9], [1, 0])
  28. r([4, 3, 2, 9], [4, 3, 3, 0])
  29. return 0
  30. if __name__ == "__main__":
  31. sys.exit(main())