- 博客(12)
- 收藏
- 关注
原创 解决windows安装cvxpy报错——error: microsoft visual c++ 14.0 is required
重要的事情说三遍:windows对开发者不友好!不友好!!不友好!!!想吐槽下windows系统电脑配置:DELL 灵越5737 + win 8.1 + python 3.5.4个人之前的电脑系统是linux,换工作到新公司开发环境变成了windows,因为工作需要,安装cvxpy环境实现凸优化问题,win10 和笔者的电脑不兼容(装系统的问题就让笔者有点嫌弃windows),所以装了个wi...
2020-02-07 21:17:12
905
2
原创 python 实现I/O多路复用
前言作为一个服务器,肯定要满足多个客户端同时访问,在python中,可以有三种模型满足这种要求,分别是:循环服务模型、多进程/多线程模型,I/O并发模型。在这里,我们就探讨一下如何使用I/O多路复用实现I/O并发I/O多路复用定义:操作系统同时监控多个I/O,当哪个I/O准备就绪就执行哪个I/o,避免因为一个I/O阻塞而造成其他不相关I/O无法执行,提高效率实现方式:python3中提供三...
2019-10-21 20:29:50
227
原创 进程间通信及python实现
进程间通信方式:系统可以运行多进程,有时进程间需要通信传递信息,进程间通信的方式有:管道、消息队列、共享内存、信号、信号量、套接字管道:原理:在内存中开辟管道空间,生成管道对象,多个进程对管道对象进行读写,实现进程间通信,但是multiprocessing模块的管道通信只能在亲缘关系的进程中通信from multiprocessing import Pipefrom multiproce...
2019-10-19 19:35:31
185
原创 python3实现多进程示例代码
作者知道python3代码实现多进程的方式主要有三种:fork()函数,muliprocessing模块和进程池fork()函数import ospid = os.fork()"""使用fork()创建子进程,会在父进程中返回子进程的pid,在子进程中返回0"""if pid < 0: print('子进程创建失败')elif pid == 0: print('这是子进程...
2019-10-18 09:20:59
474
原创 进程和线程
程序的顺序执行和并发执行在说并发与并行之前,先说一下程序的顺序执行和并发执行吧顺序执行:程序按照一定的次序执行,具有顺序行、封闭行和可再现性并发执行:程序的并发执行是指多个程序在一个内核上在同一时间间隔内同时执行,极大的提高了资源利用率,由于程序并发执行带来的不可再现行,所以引入了进程这一概念对并发执行的程序进行控制和描述进程定义:1、是程序的一次动态执行2、由程序和程序描述状态(P...
2019-10-17 21:31:18
139
原创 leetcode打家劫舍(动态规划,python3)
题目你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例1输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 ...
2019-09-08 21:51:01
233
原创 leetcode 二叉树的最大深度(递归+迭代)
题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点递归解法# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left ...
2019-09-07 18:03:51
327
原创 leetcode 罗马转数字
class Solution: def romanToInt(self, s: str) -> int: num_dict = {'I':1,'IV':4,'V':5,'IX':9,'X':10,'XL':40,'L':50, 'XC':90,'C':100,'CD':400,'D':500,'CM':900,'M':1000}...
2019-09-05 19:33:43
98
原创 token解决http无状态问题
概述http协议是应用层的超文本传输协议,用于客户端和服务器之间的通信,是无状态的,不能识别用户身份和状态场景需求需要对用户的登录状态进行验证,如果用户已经登录,允许此用户进行操作,如果用户没有登录,则必须登录后才可操作cookie技术分析针对这种需求,cookie和session技术(session基于cookie,下文统称cookie)已经可以满足,但是cookie技术是针...
2019-08-28 20:25:28
1352
原创 leetcode 反转链表 python实现
leetcode初级算法:python3实现反转单链表题目:给定一个单链表和链表首节点,要求反转链表解题思路:反转相邻的两个节点由于是单链表,每个节点只能有一个后续节点,所以在反转时链表必然会中断,需要一个临时变量p去指向被断掉的那一部分(原来处于前面的节点),理论上定义p 是可以用任意值去定义的,考虑到返回的链表最后一个节点next=None,所以p=None代码如下:# Def...
2019-08-26 19:43:12
239
原创 leetcode:删除链表倒数第N个节点的快慢双指针解法
解题思路来源于leetcode官方的快慢双指针思想题目:删除链表的倒数第n个节点 python3 (只遍历一遍链表)给定一个单链表,要求删除倒数第n个节点,其中ListNode为节点类,提供每个节点的信息,也可用来创建新节点;head为单链表的头部节点,n为倒数第n项,需要返回一个头节点;思路:建立快慢双指针,两指针间隔n个节点;同时移动双指针,当快指针quick.next为Non...
2019-08-25 17:16:43
214
原创 leetcode报数序列,44ms,超越98%的用户
leetcode初级算法:报数序列,用时44ms,超越98%的用户。解题思想:因为第n项结果是基于n-1项的,所以先用一个列表list_data存放所有的结果题目的特点是把n-1项的结果读出来(数字个数+数字),形成字符串,作为第n项的结果,那么就用count记录数字个数,把数字放入list_stack中当有一个新数字时,先判断新数字与list_stack[-1]是否相同,如果相同,co...
2019-08-25 12:57:16
155
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人