其实是个很好的递归题目,一眼看着咩反应过来,还是自己弱的问题。。
class Solution:
def triangularSum(self, nums: List[int]) -> int:
if len(nums) == 1:return nums[0]
newnum = []
for i in range(len(nums)-1):
newnum.append((nums[i]+nums[i+1])%10)
return self.triangularSum(newnum)
一个朴素的会TLE的版本。
class Solution:
def triangularSum(self, nums: List[int]) -> int:
if len(nums) == 1:return nums[0]
stack = []
for num in nums:
stack.append(num)
newstack = []
for _ in range(len(nums)-1):
while stack:
a1 = stack.pop(0)
a2 = stack.pop(0)
cursum = (a1 + a2)%10
newstack.append(cursum)
if len(stack):
stack = [a2]+stack
stack = newstack
newstack = []
return stack[0]