随笔分类 -  python

摘要:贪婪算法 覆盖问题,有个节目想要将自己的节目通过电台发布到几个州,这些电台可能互相有所覆盖,即覆盖了相同的州,现在如何能找到几个电台,最优的覆盖这些州。 # 想要电台覆盖的州 states_needed = set(["mt", "wa", "or", "id", "nv", "ut", "ca", 阅读全文
posted @ 2020-06-08 09:18 wztshine 阅读(257) 评论(0) 推荐(0) 编辑
摘要:代码更新版: # 商品列表。w:重量;v:价值 tr = [{'w':1,'v':1500},{'w':4,'v':3000},{'w':3,'v':2000}] max_w = 4 # 背包容量 # 生成一个二维数组dp[i][j],i代表几个物品,j代表容量。dp[i][j]代表在背包容量为j, 阅读全文
posted @ 2020-06-06 17:46 wztshine 阅读(1575) 评论(0) 推荐(0) 编辑
摘要:从起点到终点的路径如上图所示,每条路径的长度都不相同(权重),如何从起点找到一条路径,长度最短? 建模:GRAPH存储了整张图的结构;costs存储了从起点开始,到每个点的最短距离(从起点到A是6,但是从 起点-> B → A 是5,所以后面A的路径其实会变成5);PARENTS记录了每个地点的父节 阅读全文
posted @ 2020-06-03 17:30 wztshine 阅读(405) 评论(0) 推荐(0) 编辑
摘要:如图,从起点cab开始,查找 终点 bat ,广度优先查找的方法是先从最近的节点查找,当最近的节点都不是要找的内容时,再从次一级的节点查找。 # 广度优先查找:先在最近的里面查找,最近的里面查不到,再在次一级的里面查找。 import queue q = queue.Queue() # 图结构 gr 阅读全文
posted @ 2020-06-03 10:58 wztshine 阅读(1136) 评论(0) 推荐(0) 编辑
摘要:插入排序 原理: 如果列表有多个元素,从列表的第二个元素开始,让它和前一个元素对比 如果这个元素比前一个元素小,就和前一个元素互换位置,并继续和前面的元素对比。如果当前元素比前面的元素大,就不做任何操作,转而处理后面的元素。 譬如: 现有列表:[0, 2, 10, 3, 38, 6] 第一次排序,将 阅读全文
posted @ 2020-06-02 15:16 wztshine 阅读(219) 评论(0) 推荐(0) 编辑
摘要:def dc(num,dic): # 分而治之,最少的钱数组合 kind = [100,50,20,10,5,1] # 钱的面额 if num == 0: return dic else: for k in kind: if num>=k: num = num - k if k in dic: di 阅读全文
posted @ 2020-06-02 15:08 wztshine 阅读(365) 评论(0) 推荐(0) 编辑
摘要:import turtle def draw(points): # 根据三个坐标,画一个三角形 t.penup() t.goto(points['left']) t.pendown() t.goto(points['top']) t.goto(points['right']) t.goto(poin 阅读全文
posted @ 2020-05-29 22:58 wztshine 阅读(1879) 评论(0) 推荐(0) 编辑
摘要:约瑟夫问题:有x个人围成一圈,从某个人开始报数,报到y数的人自杀,然后从死掉的这个人的下一个人开始重新报数,循环往复,一直到剩下一个人。 class Queue(): # 使用python内置的list,实现简单的队列 def __init__(self): self.queue = [] def 阅读全文
posted @ 2020-05-22 21:23 wztshine 阅读(572) 评论(0) 推荐(0) 编辑
摘要:class Node(): def __init__(self,Data): self.data = Data # 当前节点 self.next = None # 下一节点,为None表示没有下一个节点 def getData(self): return self.data def getNext( 阅读全文
posted @ 2020-05-17 15:55 wztshine 阅读(250) 评论(0) 推荐(0) 编辑
摘要:递归特性: 必须有一个明确的结束条件 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 递归效率不高,递归层次过多会导致栈溢出(每进行一次函数调用,计算机为了保存程序当前的状态,会将当前状态入栈,以便函数返回时,能恢复函数调用之前的状态,栈的大小是有限的,所以当调用过多时,可能会导致栈溢出。 阅读全文
posted @ 2020-04-19 15:04 wztshine 阅读(267) 评论(0) 推荐(0) 编辑
摘要:需要安装erlang和RabbitMQ 一对一 producer: import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channe 阅读全文
posted @ 2020-03-06 17:43 wztshine 阅读(210) 评论(0) 推荐(0) 编辑
摘要:Microsoft word 文件编辑 from docx import Document from docx.shared import Inches document = Document() # document.add_heading('Document Title', 0) # 插入标题 阅读全文
posted @ 2020-01-17 19:31 wztshine 阅读(253) 评论(0) 推荐(0) 编辑
摘要:from uiautomator import Device from PIL import Image import math import operator from functools import reduce # 比较图片 def image_compare(img1,img2): ima 阅读全文
posted @ 2020-01-17 19:29 wztshine 阅读(559) 评论(0) 推荐(0) 编辑
摘要:__getattribute__ 、__getattr__ 、__setattr__ 当我们调用 obj.xxx 来访问 obj 的属性时,会自动调用 obj 的 __getattribute__ 方法来返回属性的值。 只有显式的调用 __getattr__,或者当 __getattribute__ 阅读全文
posted @ 2019-12-30 09:42 wztshine 阅读(332) 评论(0) 推荐(0) 编辑
摘要:1. select模块 针对select,要先理解其他几个概念: 文件描述符: 文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。 内核空间: Linux简化了分段机 阅读全文
posted @ 2019-12-24 13:40 wztshine 阅读(769) 评论(0) 推荐(0) 编辑
摘要:文档地址:https://www.cse.huji.ac.il/course/2004/com1/Exercises/Ex4/I.O.models.pdf 五种I/O模型: 1. blocking I/O 阻塞I/O 2. nonblocking I/O 非阻塞I/O 3. I/O multiple 阅读全文
posted @ 2019-12-22 23:42 wztshine 阅读(547) 评论(0) 推荐(0) 编辑
摘要:套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。 1. 实现客户端发送字符,服务器返回大写的字符: 服务器: import socketserver class MyTCPHandler(socketserver.BaseRequ 阅读全文
posted @ 2019-12-22 12:50 wztshine 阅读(1337) 评论(0) 推荐(0) 编辑
摘要:手动协程操作: # pip install gevent from greenlet import greenlet def test(): print('He ') gr2.switch() # 切换到test2 print('a ') gr2.switch() def test2(): prin 阅读全文
posted @ 2019-12-17 13:52 wztshine 阅读(162) 评论(0) 推荐(0) 编辑
摘要:官方文档地址:https://openpyxl.readthedocs.io/en/stable/tutorial.html 1. 加载excel import openpyxl from openpyxl.utils import get_column_letter,column_index_fr 阅读全文
posted @ 2019-12-09 15:27 wztshine 阅读(1651) 评论(0) 推荐(0) 编辑
摘要:import os import zipfile def zipDir(dirpath,outFullName): """ 压缩指定文件夹 :param dirpath: 目标文件夹路径 :param outFullName: 压缩文件保存路径+xxxx.zip """ zip = zipfile. 阅读全文
posted @ 2019-12-09 10:38 wztshine 阅读(350) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示