博客
关于我
【python刷题】分治法
阅读量:474 次
发布时间:2019-03-06

本文共 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)

leetcode 241 为运算表达式设计优先级

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/

你可能感兴趣的文章
MySQL数据类型字节长度
查看>>
mysql数据被误删的恢复方案
查看>>
MySQL数据读写分离(MaxScale)上干货!!!
查看>>
mysql整库导入、导出
查看>>
mysql文本函数和数字函数
查看>>
Mysql新建用户和数据库并授权
查看>>
mysql日志
查看>>
mysql日志文件
查看>>
mysql日志管理学习笔记
查看>>
mysql日志问题定位实用命令
查看>>
MySQL日期时间函数大全
查看>>
mysql时间相减的问题
查看>>
mysql时间表示和计算
查看>>
mysql更改表引擎INNODB为MyISAM的方法总结
查看>>
mysql更新一个表里的字段等于另一个表某字段的值
查看>>
Mysql更新时间列只改日期为指定日期不更改时间
查看>>
MySQL更新锁(for update)摘要
查看>>
mysql更新频率_MySQL优化之如何了解SQL的执行频率
查看>>
mysql替换表的字段里面内容
查看>>
MySQL最大建议行数 2000w,靠谱吗?
查看>>