算法
泠月飞花
逢人不说人间事,便是人间无事人
展开
-
算法题:04-汉诺塔
汉诺塔-python# -*-coding:utf-8-*-'''汉诺塔:有3个塔,标记为:A、B、C。塔A外面套有3个环形的圆盘。3个圆盘从上到下依次变大,最大的盘再最底下,标记为1,依次往上分别为1、2、3。现在需要将塔A的3个圆盘移动到塔C上。规则如下:1.一次只能移动一个盘2.移动过程中,大盘必须在小盘下方3.只有塔顶的盘才能移动'''from typing import TypeVar,Generic,ListT = TypeVar('T')class Stack(原创 2021-03-02 23:12:53 · 182 阅读 · 0 评论 -
算法题:03-加密
XOR加解密-python# -*-coding:utf-8-*-from secrets import token_bytesfrom typing import Tupledef random_key(length:int)->int: tb:bytes = token_bytes(length) return int.from_bytes(tb,'big')def encrypt(original:str)->Tuple[int,int]: ori原创 2021-03-02 21:37:58 · 369 阅读 · 0 评论 -
算法题:002-数据压缩
简单的数据压缩-python# -*-coding:utf-8-*-'''简单的数据压缩'''class CompressedGene: def __init__(self,gene:str)->None: self._compress(gene) def _compress(self,gene:str)->None: ''' 压缩 :param gene: :return:原创 2021-03-01 22:33:07 · 205 阅读 · 1 评论 -
算法题:001-斐波那契数列
斐波那契数列的python版本:# -*-coding:utf-8-*-'''斐波那契数列实现'''import functoolsfrom typing import Generator# 方法一:使用递归(需要缓存)@functools.lru_cache(maxsize=None)def feibo(num:int) ->int: if num < 2: return num return feibo(num-1) + feibo(n原创 2021-03-01 21:47:05 · 162 阅读 · 0 评论