题目53:最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
题解:
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
for i in range(1,len(nums)):
nums[i] = nums[i] + max(nums[i-1],0)
return max(nums)
for循环中,从第二项到最后一项,每一项都等于该项加上前一项 or 0的和,因而其中的最大连续和即为新的数组中的最大值
运行结果:
题目43:字符串相乘
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
题解:
class Solution:
def multiply(self, num1: str, num2: str) -> str:
res = int(num1)*int(num2)
return str(res)
运行结果:
题目46:全排列
给定一个 没有重复 数字的序列,返回其所有可能的全排列。
题解:
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
from itertools import permutations
if not nums: return []
return [list(i) for i in permutations(nums,len(nums))]
运行结果: