机器作业调度代码记录python
摘要:def diaodu(time,m): """将各个任务分配到m台机器上,任务花费时间列表已汇总至time中,返回分配后的最小时间""" tmp=[0 for _ in range(m)] #初始化每个机器上花费的时间为0 if len(time)<=m: #如果任务数小于等于机器数,就每个任务分配
阅读全文
贪心算法 部分背包问题的代码记录python实现
摘要:#问题:给定一些物品,用matrix表示(质量,价值),有一背包承重为M #求如何装入物品使背包中物品价值最大,以及得出最大价值。可以部分装入 def bufenbeibao(matrix,M): total_value=0 #总价值 take_lst=[0 for _ in range(len(m
阅读全文
动态规划解决最长公共子序列的长度的代码记录python
摘要:def zuichanggonggongzixulie(s1,s2): """计算s1与s2的最长公共子序列""" len1=len(s1) len2=len(s2) dparray=[[0 for _ in range(len1+1)]for _ in range(len2+1)] #构建基础上加
阅读全文
python的深浅拷贝,又忘记了,再复习一次。
摘要:浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。他们的子对象还是指向统一对象(是引用)。 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 >>> a=[1,[1,2,3]] >>> b=a.copy() >>> b [1, [1, 2
阅读全文
低调做人,用心做事
摘要:“低调做人,用心做事,创造财富,回报社会”是蒋业华常挂在嘴边的一句话。多年来,他带领华宇集团在抗灾救灾、捐资助学、改善贫困山区人民生活环境等公益事业方面,累计捐资1.7亿元,是一个值得我们敬佩的企业家。
阅读全文
二叉树的构建python实现
摘要:class Node(object): def __init__(self,val=None,left=None,right=None): """构建树的节点""" self.val=val #值 self.left=left #左树 self.right=right #右树 class Tree(
阅读全文
单链表结构的实现python记录
摘要:class Node: """链表的节点的结构""" def __init__(self,data): self.data=data #数据 self.next=None #下一个结点指针 return def has_value(self,value): """判断节点值是否为参数value"""
阅读全文
bfs岛屿问题的代码记录
摘要:bfs,同时使用队列。对比dfs,使用栈。 from collections import deque def land(matrix): length=len(matrix) #数组行数 width=len(matrix[0]) #数组列数 re=[[0 for _ in range(width)
阅读全文
bfs寻找路径问题的代码记录
摘要:建议用Thonny一步步调试观察过程。有时候自己先实现再看书,能领悟的更深刻。直接看作者代码不一定效果最好。 # @Time : 8/16/21 2:23 PM # @Author : LY(Zhenghui.Lyu) # @File : aa.py # @Software: PyCharm # @
阅读全文
自己写的完全平方数的代码实现--python记录
摘要:def Wanquan(num): """num是正整数""" return bfs(num) def bfs(num): """对num,求出其减去开方最大值后的剩余值""" i = 1 result=0 while True: if i * i > num: num = num - (i - 1
阅读全文
bfs的图遍历代码记录
摘要:import collections class graph: def __init__(self,point,graph): self.graph=graph #传入的临接表 self.point=point #数组 self.visited=[0 for _ in range(len(graph
阅读全文
深度优先搜索的全排列代码记录
摘要:def allsort(): #全排列 temp=[] dfs(0,temp) def dfs(position,temp): if position==len(test): #每次添加够元素后(等于原集合长度)输出 print("输出排列:",temp) for i in test: #遍历tes
阅读全文
对《算法之美-Python语言实现》9.2节 求最长子字符串的长度的实现记录
摘要:#求最长字符串的问题 def max_sublength(str): """给定一个字符串str,返回其最长字符串长度""" str_length=len(str) if str_length==0: return 0 if str_length==1: return 1 t=[1 for i in
阅读全文
对《算法之美-Python语言实现》8.5节 货币选择问题的实现记录
摘要:有时候,看作者写的代码容易懵逼。遇到一个问题,还是要自己先找到思路,然后自己实现出来才是上策。 #货币选择问题 def find_money(amount,moneys): """ 选择最少的货币表示,amount表示支付的金额,moneys为手上现有的纸币数量 返回值为一个列表,[[面额,选择此面
阅读全文
面对对象:设计模式汇总
摘要:1.简单工厂模式: 不直接向客户端暴露实现细节,创建一个工厂类负责创建实例。例如: from abc import ABCMeta, abstractmethod class Payment(metaclass=ABCMeta): @abstractmethod def pay(self, mone
阅读全文
面对对象的五大原则SOILD
摘要:1.开闭原则:指的是如果对类、函数等要添加新的功能时,原有的代码尽量不修改。因为此时系统已经成型,修改某个函数或类,可能会导致其他引用的地方工作异常。 2.替换原则:一个地方引用了某个父类,则要求这个地方也能正常地引用父类的子类。 3.依赖原则:高层的代码和底层的代码,要针对某个接口来编程,这样不管
阅读全文
python接口的实现
摘要:from abc import ABCMeta, abstractmethod class Payment(metaclass=ABCMeta): @abstractmethod def pay(self, money): pass class Alipay(Payment): def pay(se
阅读全文