自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 leetcode【数组】持续更新

不积跬步无以至千里 【数组】 代码链接 思路 1.两数之和 构建哈希表,以空间换时间

2020-02-24 11:34:40 108

原创 leetcode【栈】持续更新

千里之行,始于足下。从今天开始按类型更新leetcode的题目,每日一更 【栈】 20.Valid Parentheses

2020-02-16 11:35:57 129

原创 【python】网络编程

socket 套接字(socket) 是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。 套接字Socket=(IP地址:端口号),套接字的表示方法是点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开。每一个传输层连接唯一地被通信两端的两个...

2020-02-12 12:02:37 137

原创 【python】正则表达式

表达式 匹配内容 \d 数字 \w 数字或字母 . 任意字符 * 任意个字符(>=0) + 任意个字符(>=1) ? 0个或1个字符 {n} n个字符 {n,m} n~m个字符 [] 表示范围,例如[0-9a-zA-Z_]+可以匹配至少由一个数字、字母或者下划线组成的字符串 ^ 表示开头 $ 表示结尾 re方法 用途 ...

2020-02-12 11:24:50 144

原创 【python】分布式进程

Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。 Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。一个服务进程可以作为调度者,将任务分布到其他多个进程中,依靠网络通信。由于managers模块封装很好,不必了解网络通信的细节,就可以很容易地编写分布式多进程程序。 import mul...

2020-02-11 23:44:22 137

原创 关于编程的一些想法

2013年本科入学,计算机学院信息安全系。2017年硕士入学,计算机学院计算机系。算来算去,到今年已经接触计算机7年了。 编程作为一个程序员最基本的素养,我却一直都没有具备过。2020年伊始,新型冠状病毒肆虐全国,有时间坐在家里一边写代码,一边好好的反思一下。 1.写代码的本质,是和计算机交流。OS提供了一系列的接口,编程就好像是拼图或者是搭乐高积木。 学习了编程语言,了解了各种各样的接口,然后发...

2020-02-11 17:52:14 264

原创 【python】多线程

python的多线程和多进程使用方法类似 from multiprocessing import ------ import threading os.getpid() ------ threading.current_thread() p = Process(target=,args=) ----- t = threading.Thread(target=,name=) import...

2020-02-11 00:05:26 79

原创 【python】多进程

进程 进程:一个程序的一次执行(让我回想起本科时候最喜欢的操作系统) 进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块(PCB)用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志。 进程的生命周期:创建(New)、就绪(Runnabl...

2020-02-09 23:21:23 132 1

原创 【python】操作文件和目录

如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。 操作文件和目录 import os #查看当前目录的绝对路径 os.path.abspath('.') ''...

2020-02-09 22:18:57 106

原创 【python】IO

读文件 with open('filename') as f: f.read() 调用f.read()会一次读取文件的全部内容,如果文件内容较大,内存就会爆炸。 为了保险起见,可以用f.read(size),一次读取size大小的内容 另外==f.readline()==可以一次读取一行的文件内容 f.readlines() 会一次性将文件全部读取,并按行返回List。在读取配置文件时,这个方...

2020-02-09 21:48:28 107

原创 【python】pdb调试

启动Python的调试器pdb,让程序以单步方式运行,可以随时查看运行状态。 $ python -m pdb xxx.py l — 查看代码 n — 单步执行代码 p 变量名 — 查看变量 q — 退出调试 pdb.set_trace() 这个方法也是用pdb,但是不需要单步执行,我们只需要import pdb,然后,在可能出错的地方放一个pdb.set_trace(),就可以设置一个断点。 ...

2020-02-07 17:32:35 121

原创 【python】异常处理

异常 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。 当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。 try/except 捕捉异常可以使用try/except语句。 try/except语句用来检测try语句块中的错误,从而让except语句捕获异...

2019-11-11 12:00:59 133

原创 【python】枚举类

定义常量时,我们可以用到枚举类。 在没有专门提供枚举类型的时候,一般就通过字典或类来实现: Color = { 'RED' : 1, 'GREEN': 2, 'BLUE' : 3, } class Color: RED = 1 GREEN = 2 BLUE = 3 这种来实现枚举如果小心翼翼地使用当然没什么问题,毕竟是一种妥协的解决方案。它...

2019-11-07 09:53:58 234

原创 【python】property

@property 广泛应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性。 简单的说:就是把方法变成属性,既具有属性的方便,且具有方法的功效。 class Student(object): @property def birth(self): return self._birth @birt...

2019-10-31 11:40:38 83

原创 【python】__slots__

为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性: class Student(object): __slots__ = ('name', 'age') # 用tuple定义允许绑定的属性名称 使用__slots__要注意,slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的 除非在子类中...

2019-10-31 11:38:20 104

原创 【python】面向对象编程

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程序 设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。 面向对象的程序 设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个...

2019-10-31 10:06:52 94

原创 【python】模块及其使用

以下内容参考自:廖雪峰Python 模块标准 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env ...

2019-10-29 21:14:45 115

原创 【Python】模块搜索路径

参考自廖雪峰Python

2019-10-29 21:06:08 149

原创 【python】装饰器

在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。 本质上,decorator就是一个返回函数的高阶函数。 以函数作为输入参数,以函数作为返回 一个标准的decorator写法: import functools def log(func): @functools.wraps(func) ...

2019-10-28 22:50:55 108

原创 【python】高阶函数、返回函数

此文参考自廖雪峰python 高阶函数 何为高阶函数? 高阶函数英文叫Higher-order function。 把函数作为 参数 传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。 返回函数 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 一个函数可以返回一个计算结果,也可以返回一个 函数 。 例: def lazy_sum(*args): def...

2019-10-28 21:57:41 122

原创 【python】filter

filter()和map()类似,接收一个函数和一个序列,然后将函数依次作用在序列上的每一个数 与map不同之处在于:filter将不满足f()函数条件的序列中的数删去,满足的留下,组成新的Iterator 由于filter生成的是惰性序列,所以要用list或for循环打印出来。 以埃氏筛法例: 2是素数,输出2,并删去2及2的倍数,剩下的数组成新的序列 新序列中最小的数是3,输出3,并删去3及...

2019-10-28 09:27:50 251

原创 【python】map、reduce

python 内建了map()和reduce()函数 map map()函数接收两个值:函数f()和一个Iterable(如list、set、tuple、Iterator等) map函数将函数f()依次作用在Iterable的每一个元素上,并返回一个新的 Iterator (惰性序列) 例: >>> l = [1,2,3,4] >>> def my_add(nu...

2019-10-27 21:36:04 101

原创 【Python】列表生成式、生成器、迭代器

列表生成式 常见的列表生成方式: 1.list >>> list(range(1,5)) > [1,2,3,4] 2.for循环 l=[] for i in range(1,5): l.append(i) >>>l >[1,2,3,4] 3.列表生成式 : 在列表生成时加入限制判断条件 例: #[1,2,3,4] [x for x in ra...

2019-10-24 11:29:08 131

原创 【python】函数的参数

python的函数定义非常简单,把参数的名字和位置确定下来,函数的接口定义就完成了。但是灵活度却非常的大,比如:位置参数(包括默认参数)、可变参数、关键字参数、命名关键字参数。其中各种参数的定义方式也不同。 位置参数 位置参数,是平时做算法题最常用到的,调用函数时,在对应的位置填入对应的参数即可。此处不做赘述 例: def my_abs(n): if n>=0: retur...

2019-10-23 22:32:24 216

原创 python的dict和set

dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: d = {key1 : value1, key2 : value2 } 一个k...

2019-10-23 16:21:12 107

原创 lintcode(五):第k大元素 【中等题】python

描述 在数组中找到第 k 大的元素。 思路 快排 代码 class Solution: """ @param n: An integer @param nums: An array @return: the Kth largest element """ def kthLargestElement(self, n, nums): # ...

2019-10-23 15:38:13 123

原创 lintcode(四):丑数 【中等题】python

描述 设计一个算法,找出只含素因子2,3,5 的第 n 小的数。 符合条件的数如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12… 我们可以认为 1 也是一个丑数。 思路 每一个丑数都是由前面的丑数*2,3或5得出来的。 代码 class Solution: """ @param n: An integer @return: return a integ...

2019-10-22 09:07:04 134

原创 python字符串前的r

在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash ‘’ 。 例: 加r: print(r'hello,\n world') 输出结果: hello,\n world 不加r: print('hello,\n world') 输出结果: hello, world 如果字符串内部有很多换行,用\n写在一行里...

2019-10-21 23:23:21 131

原创 lintcode(三):统计数字 【中等题】python

描述 计算数字 k 在 0 到 n 中的出现的次数,k 可能是 0~9 的一个值。 样例 输入: k = 1, n = 12 输出: 5 解释: 在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] 中,我们发现 1 出现了 5 次 (1, 10, 11, 12)(注意11中有两个1)。 思路1 遍历[0,n],看每一个数字各位所对应的数和k是否相等,如果相...

2019-10-21 23:07:45 147

原创 编码简述

ASCⅡ码 计算机只能认识0和1这两个数。因此,在

2019-10-20 21:40:10 242

原创 lintcode(二):尾部的零 【简单题】python

描述 设计一个算法,计算出n阶乘中尾部零的个数 要求 O(logN)的时间复杂度 思路: n!中尾部零的个数,即有多少个10相乘 ≡ 2*5 。 而2的指数增长速度比5的指数增长速度要快,故2的个数比5多,只需要考虑5的个数 tmp=n//5 个, 但是考虑到这 tmp = n//5 个数中,又有5的倍数,还能得到10。故继续重复上一步的操作:tmp = tmp//5 以下图为例,来源:https...

2019-10-20 10:19:09 214

原创 lintcode(一):A+B 【简单题】python

```python class Solution: def aplusb(self, num1, num2): while num2: result = (num1 ^ num2) & 0xffffffff carry = ((num1 & num2) << 1) & 0xffffffff ...

2019-10-18 17:01:56 192

原创 关于博客

自从上一次手机号码注销,曾经的博客再也无法登录。很久没有再写技术贴,后来发现,还是要坚持学习。持之以恒。每天更博,尽量输出自己的学习。 ...

2019-10-18 14:54:32 106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除