自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Day11 栈和队列

小根堆

2022-10-04 11:28:29 878 1

原创 Day10 栈和队列

栈和队列

2022-10-02 18:05:51 796

原创 Day07 字符串

字符串

2022-09-28 22:59:14 923

原创 Day06 哈希表、双指针

哈希表法、双指针法

2022-09-28 11:08:07 564

原创 Day05 哈希表

哈希表在例题中的应用

2022-09-27 20:28:50 129

原创 Day04 链表

链表

2022-09-24 15:44:03 110

原创 Day03 链表

链表

2022-09-23 15:47:56 132

原创 Day02 数组(双指针、滑动窗口)

day2给我上了一课

2022-09-22 17:42:53 59

原创 Day01 数组(二分查找、双指针)

每天学一点,稳扎稳打。

2022-09-21 22:11:00 443

原创 Python基础知识

2021-02-18 15:27:14 108 1

原创 根据QQ号获取昵称和头像

# 开发时间:2021/2/2 22:28# 开发工具:PyCharm# 开发者:GoTopimport requestsimport redef getPhoto(qqCode): url = f"http://q.qlogo.cn/headimg_dl?dst_uin={qqCode}&spec=640&img_type=jpg" headers = { 'Referer': 'http://pic.netbian.com/4kmeinv/in

2021-02-03 01:34:35 1889 4

原创 在jupyter中添加自己创建的环境

1.创建想要添加的虚拟环境conda create -n test python=3.7其中test是我自己创建的环境的名称。创建之后可以通过conda env list 查看所有已存在的环境,并通过activate 环境名称进入该环境,进行各种包的安装及操作。2.将新的环境添加到jupyter中2.1安装ipykernelconda install ipykernel2.2将环境写入notebook的kernel中python -m ipykernel install --user

2021-01-20 23:48:57 5373

原创 GUI编程+翻译器小程序

写在前面:教程地址代码直接CV就可以用,不过之前得安装wxpython模块pip install wxpython# 开发时间:2021/1/12 10:11# 开发工具:PyCharm# 开发者:GoTopimport wximport urllib.request # 导入模块import urllib.parseimport jsonclass MyFrame(wx.Frame): def __init__(self): wx.Frame.__init.

2021-01-12 22:38:27 528 1

原创 算法题之环相关练习题

141. 环形链表python中的字典是基于哈希表实现的,因此本题我们可以利用python中的字典来解决:如果有环的话,一些数据肯定会重复出现,因此一旦出现重复数字,就可判断有环。class Solution: def hasCycle(self, head: ListNode) -> bool: num = set() while head: if head in num: return Tr

2020-12-31 15:05:10 284

原创 xpath解析实战--爬取免费简历模板

太菜了,写了一上午。遇到了无数的问题,好在没有放弃,一一解决了。首先是xpath解析出现问题,在原网站上用xpath工具可以顺利地解析出a标签里面的链接,但在pycharm上获取的是空列表。于是乎将原网页代码爬取下来,观察了要获取内容所对应的标签,发现标签与原网页是一样的,但是标签的class不同,于是将xpath解析里面的class属性改掉,最终获取到了目标链接。然后是乱码问题,由于个人疏忽,没有对for循环内部的响应数据进行手动设定编码格式。找了很多资料,没有找到解答,最后才发现这个简单问题。总.

2020-12-28 12:33:37 302 1

原创 xpath解析数据(爬取全国城市名称)

目标网站:https://www.aqistudy.cn/historydata/# 开发时间:2020/12/27 22:00# 开发工具:PyCharm# 开发者:Friday# 网址 https://www.aqistudy.cn/historydata/import requestsfrom lxml import etreeif __name__ == "__main__": headers = { 'Referer': 'http://pic.netb.

2020-12-27 23:03:10 610 1

原创 205. 同构字符串

205. 同构字符串运用哈希表解决此题class Solution: def isIsomorphic(self, s: str, t: str) -> bool: dict = {} for i in range(len(s)): if s[i] not in dict: if t[i] in dict.values(): return False

2020-12-27 10:33:56 100

原创 455. Assign Cookies

455. Assign Cookies贪心策略,大饼干既可以满足胃口大的孩子,也可以满足胃口小的孩子,那么应该优先满足胃口大的。局部最优就是大饼干喂给胃口大的,全局最优就是喂饱尽可能多的小孩。class Solution: def findContentChildren(self, g, s): g.sort() s.sort() res = 0 begin = 0 for i in range(0, len(g

2020-12-25 22:21:56 66

原创 135. Candy(贪心算法)

135. Candy解法一:一前一后两次遍历数组,第一次从前往后遍历,保证前一个小孩的分数比后一个小孩分数大时,前一个小孩的糖果比后者多一,但此时只考虑了前一个比后一个大还有两者相同的情况,再进行一次从后往前遍历,如果前一个比后一个大,则前一个的糖果数为后一个糖果数加一与当前糖果数的较大者。class Solution: def candy(self, ratings): if len(ratings) == 0: return 0

2020-12-24 21:14:52 232

原创 leetcode数组篇(暴力解法,二分法,双指针法)

题目均在leetcode35. Search Insert Position解法一:暴力解法两种情况,目标值在所有元素之后以及目标替换掉第一个比他大的元素class Solution: def searchInsert(self, nums, target) -> int: for i in nums: if i >= target: return nums.index(i) ret.

2020-12-23 22:49:57 171

原创 387. First Unique Character in a String

题目链接herepython代码# 开发时间:2020/12/23 10:34# 开发工具:PyCharm# 开发者:Fridayclass Solution: def firstUniqchar(self, s:str) -> int: a = [0] * 27 for x in s: num = ord(x) - 96 a[num] += 1 for y in s:

2020-12-23 10:48:59 53

原创 爬虫---xpath解析(爬取美女图片)

这个网页的代码结构。可以很好的拿来练手xpath解析。现在爬这个网站比较慢,有时还可能报错。代码没有问题,可以实现,也许是缺一些优化。等熟悉了再来优化。代码中的处理中文乱码的方式划重点。一种是手动设定响应数据的编码格式,另一种是通用处理中文乱码解决方案。encode('iso-8859-1').decode('gbk') 用这个别忘了接收修改后的数据哦!import requestsfrom lxml import etreeimport osif __name__ == "__main_.

2020-12-23 00:39:10 328

原创 爬虫---xpath解析

xpath是常用且最便捷高效的一种解析方式,具有通用性。—xpath解析原理:实例化一个etree对象,且需要将被解析页面源码数据加载到该对象中调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕捉—环境安装pip install lxml—如何实例化一个etree对象:from lxml import etree将本地的html文档中的源码数据加载到etree对象中:etree.parse(filepath)可以将从互联网上获取的源码数据加载到

2020-12-21 23:54:52 155

原创 406.Queue Reconstruction by Height(根据身高重排队列)

思路:首先利用h[i]和k[i]将原数组排序,那么怎么利用呢?可以以h[i]为主,k[i]为辅,即按照身高从高往低的顺序排,如果两者身高相同,则按照前面比他高的人数k[i]排,越少越靠前。然后再重新定义一个二维数组,用以存放最终结果。遍历排好序的数组,将他们以k[i]进行对应位置的插入,即k[i]决定了他们在新数组中的位置。因为个子高的插入先后顺序对个子低的会有影响,而各自低的插入后对个子高的没有影响,所以我们首先按照由高到矮的顺序排序,然后再依次插入到新数组中。代码实现(C++):class

2020-12-19 15:13:32 212 1

原创 1640.Check Array Formation Through Concatenation 能否连接形成数组

题目描述本题用到了一个哈希表,首先将arr数组的元素映射到哈希表上,然后在去遍历pieces数组,如果hash[pieces[i][j]]对应的索引值为零,则返回false,在保证pieces数组中的元素全部都与arr数组元素的值都对应的同时,还得保证pieces数组中的数组元素的顺序与arr数组中元素的顺序一致,这就要求pieces当前行(pieces是二维数组)的元素在arr中是连续的,即对应元素的索引值相差一。代码如下:class Solution {public: bool

2020-11-06 21:47:39 114

原创 1470. Shuffle the Array重新排列数组

题目描述看一下前几个元素的位置变化,可以发现前n个元素的位置变化的规律是:第i个元素在经过重新排列后,其位置就变成了2i,也就是占据所有的偶数位;而后n个元素便占据所有的奇数位。题解如下:class Solution {public: vector<int> shuffle(vector<int>& nums, int n) { vector<int>tables(2*n,1001); int i;

2020-11-06 08:55:08 163

原创 941.Valid Mountain Array有效的山脉数组

题目描述写的有点乱,没有技巧,纯暴力。题解(C++):class Solution {public: bool validMountainArray(vector<int>& A) { int len=A.size(); if(len<3) return false; int flag; for(int i=1;i<len;i++){ if(A[i]<A[i-1]){

2020-11-03 22:47:31 73

原创 git提交文件到远程仓库的步骤总结

add 将文件添加到缓存区commit 将文件提交到本地仓库pull 从远程仓库拉取文件push 推送文件到远程仓库

2020-11-01 19:47:38 223

原创 1024Video Stitching视频拼接

题目描述今天是程序员节,祝各位节日快乐!码到成功!这是属于程序员的最好的时代!现在不努力,更待何时?好,下面来看题解(C++)。这道题采用了动态规划的解法。dp[i]代表覆盖0-i所需片段的最小数目。class Solution {public: int videoStitching(vector<vector<int>>& clips, int T) { vector<int> dp(T+1,INT_MAX-1);

2020-10-24 15:24:59 3899

原创 763. Partition Labels划分字母

题目·描述用哈希表存放每个字母出现的最后位置,然后从头到尾遍历字符,找到字符串片段的分割点。需要注意的一点就是,不要把S.size()放到for循环里面去,提前把他算出来,直接用他的值,这样可以减少程序运行时间。因为for循环每执行一次,就会调用这个函数,造成了无谓的时间开销。class Solution {public: vector<int> partitionLabels(string S) { int hash[27]={0}; int l

2020-10-23 00:19:09 85

原创 leetcode之925长按键入

题目描述题解:通过分析题目及示例可以得出,本题是让求解name代表的字符串是否是typed代表字符串的子序列(注意与子串有区别)。这里我采用双指针的方法来求解。代码如下:class Solution: def isLongPressedName(self, name: str, typed: str) -> bool: l1=len(name) l2=len(typed) i=0 #指向name的指针 j=0 #指向typ

2020-10-21 23:06:43 89

原创 python基础知识3

1.python中的比较大小复数不支持比较大小类似元组,字符串,列表这类格式,在进行两者之间的比较时,先从第一个元素开始比较ASCII码值的大小,如果相等,则依次往后比较,如果全部相等,则比较数量大小ASCII码值大小:数字:0-9 48-57字母: A-Z 65-90 a-z 97-122一串数字,字符的ASCII码值大小取决于最后一位的ASCII码值,例如:1234的ASCII码值为52,4的码值也为52.ABCDA的码值为65,A的码值也为65 2.装饰器3.新式类:c

2020-10-21 13:01:21 2597

原创 leetcode刷题之877鸡蛋掉落

你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <= X <= N)。你的目标是确切地知道 F 的值是多少。无论 F 的初始值如何,你确定 F 的值的最小移动次数是

2020-10-20 20:55:07 198

原创 斜着遍历二维数组

for(int l=2;l<=n;l++){ for(int i=0;i<=n-l;i++){ int j=i+n-1; }}如数组{{1,2,3},{4,5,6},{7,8,9},}遍历之后的结果是2,6,3。相当于遍历对角线上面的元素。

2020-10-16 19:16:40 624

原创 python之pillow库1

1.安装pillow库pip install pillow2.图像处理的基本知识①图像的RGB色彩模式:RGB三个颜色通道的变化和叠加得到各种颜色,其中-R红色:取值范围,0-255-G绿色:取值范围,0-255-B蓝色:取值范围,0-255我们常见的黄色就是由红色和绿色叠加而来红色:(255,0,0)绿色:(0,255,0)蓝色:(0,0,255)黄色:(255,255,0)②像素矩阵:数字图像可以看成一个整数矩阵,矩阵中的元素称为像素(pixel),每个像素包含三个字节

2020-10-15 21:45:45 182

原创 leetcode刷题之矩阵中的路径

请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[[“a”,“b”,“c”,“e”],[“s”,“f”,“c”,“s”],[“a”,“d”,“e”,“e”]]但矩阵中不包含字符串“abfb”的路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个.

2020-10-08 11:14:06 137

原创 正则表达式匹配IP地址

import reres=re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])','127.0.0.1')print(res)

2020-10-06 21:28:26 240

原创 python基础知识(2)

1.读写文件text="This is text"fp=open('文件路径','打开方式')fp.write(text)#必须关闭文件,否则会导致宕机fp.close()打开方式包括typeinfor以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容

2020-10-04 16:55:10 254

原创 python基础知识(1)

1.python中的标准数据类型:python有五个标准的数据类型:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)其中数字类型有:python支持四种不同的数字类型int(有符号整型)long(长整型,也可以表示八进制和十六进制)float(浮点型)complex(复数)注意:string不是char!可变数据类型:列表list[],字典dict{}不可变数据类型:整型int,字符串str’’,元组tuple

2020-10-04 12:32:33 176

原创 爬虫基础了解

最近开始学习爬虫开发入门,记录了一些学习笔记以下是需要了解的一些术语:反爬机制 门户网站,可以通过制定相应的政策或者技术手段,防止爬虫程序进行进行网站数据的爬取反反爬策略 爬虫程序可以通过指定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而获取门户网站中的数据rebots.txt协议 君子协议。规定了网站中哪些数据可以被爬虫爬取,哪些数据不可以被爬取http协议 -概念:就是服务器和客户端进行数据交互的一种形式。常用请求头信息 -User-Agent:请求载体的身.

2020-10-02 23:42:19 171 1

空空如也

空空如也

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

TA关注的人

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