本文共 1250 字,大约阅读时间需要 4 分钟。
def merge(le, ri): res = [] i = j = 0 while i < len(le) and j < len(ri): if le[i] < ri[j]: res.append(le[i]) i += 1 else: res.append(ri[j]) j += 1 res = res + le[i:] + ri[j:] return resdef mergeSort(nums): if len(nums) <= 1: return nums mid = len(nums) // 2 left = mergeSort(nums[:mid]) right = mergeSort(nums[mid:]) res = merge(left, right) return resnums = [6,2,1,5,4,3,2,2,7]res = mergeSort(nums)print(res)
class Solution: def diffWaysToCompute(self, input: str) -> List[int]: res = [] n = len(input) for i in range(n): c = input[i] if c == '+' or c == '-' or c == '*': left = self.diffWaysToCompute(input[:i]) right = self.diffWaysToCompute(input[i+1:]) for a in left: for b in right: if c == '+': res.append(a + b) elif c == '-': res.append(a - b) elif c == '*': res.append(a * b) if len(res) == 0: res.append(int(input)) return res
转载地址:http://wfpbz.baihongyu.com/