04 2019 档案
摘要:深度优先搜索实现全排列 """ 利用深度优先算法实现全排列 深度优先的关键在于每一步有哪些可能,满足 一种可能后就往下继续到最后一步完成则往前 回溯其它可能。 dfs(step): 判断边界:执行相关操作,返回 尝试每一种可能 for( i = 1; i
阅读全文
摘要:python黑魔法metaclass 在看Flask源码的时候遇到了metaclass,记录下metaclass简单使用。 利用metaclass创建类示例01: 给创建的类添加\_\_call\_\_方法,当执行对象obj()调用时执行。 利用metaclass创建类示例02: 利用metacla
阅读全文
摘要:无序列表找出所有间隔为d的组合 已知一个长度n的无序列表,元素均是数字,要求把所有间隔为d的组合找出来。 我的思路: 排序列表,得到一个每个元素加上间隔的新列表,最后使用二分查找。时间复杂度nlogn python代码:
阅读全文
摘要:python实现IP地址转换为32位二进制 !/usr/bin/env python coding:utf 8 class IpAddrConverter(object): def __init__(self, ip_addr): self.ip_addr = ip_addr @staticmeth
阅读全文
摘要:实现多个列表元素排列 最近项目中有需求实现类似多个列表元素排列的功能,发现可以用python的内置函数reduce快速实现,mark一下,后面如果找到更好的方法再过来更新。 try: import reduce except: from functools import reduce def lis
阅读全文