自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode刷题日记-No394字符串解码

核心逻辑是构造两个栈(数字栈+字母栈),从左到右遍历字符串,遇到数字压入数字栈,遇到括号数字栈弹出,并将括号压入字母栈,遇到另一个匹配的括号时弹出所有字母和括号,并结合数字决定重复次数输出。总体感受,这种中等难度的题目想要一时半会解出来还是比较难的(至少对于我来讲),可以结合一些题解来思考,但是最关键的还是要自己静下来一步一步思考,甚至在本地一步一步debug。但是实际在写代码时候也遇到很多问题,有些细节条件还是没有考虑的太周到,最后还是在本异一点一点debug出来了,花了多半天的时间。

2022-11-11 17:36:28 182

原创 Leetcode刷题日记-No234回文链表

思路一:遍历两次,第一次依次取出所有节点并存放在数组arr中,第二次,链表向前遍历,数组向后遍历,比较每个元素是否相等,如果都相等则为回文链表。思路二:不引入额外空间复杂度,将链表分为两部分,第二部分反转,再依次比较。时间复杂度O(n),空间复杂度O(1)。时间复杂度O(n),空间复杂度O(n)。

2022-11-07 19:28:10 111

原创 Leetcode刷题日记-No206反转链表

思路:引入三个指针,pre、cur和next,pre初始化为null,cur初始化为head。直到cur为null,此时pre节点就是链表反转后的头节点。

2022-11-07 19:26:44 123

原创 Leetcode刷题日记-No160相交链表

思路一:辅助空间法。引入一个HashMap,遍历其中一个链表的所有节点,并将节点本身作为key存入HashMap。再遍历另一个链表的所有节点,如果节点已经在HashMap中存在,说明有相交,返回该节点;这里主要考虑的问题是A和B链表长度是不一样的,在遍历的时候,如果A到头了,就重新从headB开始;如果B到头了,就重新从headA开始,直到两个节点相等,此时如果是Null就说明不想交,否则说明相交。时间复杂度:O(m+n)空间复杂度:O(m+n)时间复杂度:O(m+n)空间复杂度:O(1)

2022-11-07 19:24:56 144

原创 Leetcode刷题日记-No141环形链表

思路:判断链表是否有环经典解法-快慢指针。初始化指针fast和slow均指向链表头结点head,接下来fast每次前进两步,slow每次前进一步。然后接两句话:无环链表必有头,有环链表追得上。

2022-11-07 19:22:44 67

原创 Leetcode刷题日记-No83删除排序链表中的重复元素

思路:原始链表有序,只需要遍历所有的节点,如果当前节点和下个节点是重复的,直接让当前节点指向下下个节点;否则节点移动一个节点继续遍历。

2022-11-07 19:21:21 46

原创 Leetcode刷题日记-No21合并两个有序链表

链表的问题很多都是用递归方式去解决的,递归法代码比较简洁。这里的思路是:创建一个结果链表节点对象,判断list1和list2的头结点大小,取小的作为结果链表的头结点。接着递归查找下一个节点,直到有一个节点为null。思路二:双指针迭代。所有的递归都能改写成迭代的形式,这里参考合并有序数组的方法,采用两个指针分别指向list1和list2的头结点,并依次传递链表,直到其中一个为null。

2022-11-07 19:19:36 110

原创 Leetcode刷题日记-No448找到所有数组中消失的数字

思路一:引入Hashmap,遍历数组,将元素存入Hashmap,接下来遍历[1,n],找出不存在于Hashmap的元素,追加到结果数组中。代码如下

2022-11-04 10:53:38 79

原创 Leetcode刷题日记-No283移动零

数组

2022-11-04 10:50:52 61

原创 Leetcode刷题日记-No88合并两个有序数组

数组

2022-11-03 14:53:38 52

原创 Leetcode刷题日记-No1两数之和

两数之和

2022-11-03 11:42:21 62

原创 Leetcode刷题日记-No70爬楼梯

爬楼梯题解

2022-11-02 19:22:20 64

原创 Pyinstaller打包.py文件心路历程

最近在用PyQt写一个界面程序,需要把.py文件打包成.exe文件,这样在没有Python环境的电脑上也能正常使用,很方便。网上99%的人都建议用pyinstaller进行打包,这里面也遇到了很多问题,先记录一下。1.首先是环境:操作系统:64位win10,python版本:3.6.4,PyQt版本:5.6.2(以上均为anaconda5.1.0自带),程序中使用了Python机器学习与科学计算第...

2018-03-29 10:52:17 9515 2

原创 京东手机爬虫

一只小小的京东手机爬虫~

2017-10-20 14:15:24 4940

原创 当当网畅销书排行爬虫(requests+BeautifulSoup)

今天要做的是一个爬取当当网畅销书排行的爬虫,之后想看排行直接运行程序就可以看到啦,没有多余的信息,是不是很给力!在前两次的爬虫编写过程中,思想都是把整个HTML文档看做一个很长很长的字符串,通过编写特定的正则表达式匹配我们需要的内容。这对于一般的内容不多的爬取需求是可以满足,但是一旦我们需要爬取的内容多了起来,正则表达式的模式就会变得相当复杂,可读性也不够好。那么有没有另外一种方法呢?答案是肯

2017-07-14 11:35:32 3026

原创 爬取豆瓣影评TOP250Demo

在爬取了糗事百科的段子之后,我发现还挺好玩的。接着想还有什么是好玩的呢?因为平时也喜欢看电影,就进入豆瓣电影的官网,看到豆瓣电影TOP250的页面。哎,把这个榜单爬下来应该挺好玩的吧。话不多说,马上行动。这里用的还是最基础的urllib库和re库,通过正则表达式匹配需要的内容,当然,之后还会有更加高级的方法,但是多写简单的可以提高对原理的认识。简单总结一下python爬虫爬取简单静态网页的一般

2017-07-13 13:42:51 896

原创 爬取糗事百科的段子Demo

1.我们要做什么?爬取糗事百科的段子,并打印输出在屏幕上。2.怎么做?(1)获取网页的内容:目的网址为https://www.qiushibaike.com/text/,该网址为糗事百科文本段子的部分。右键点击查看源代码,截图为:获取网页内容的代码如下:url = 'https://www.qiushibaike.com/text/'user_agent = 'Moz

2017-07-11 00:07:40 442

原创 Python爬虫学习笔记之基础知识

1.什么是爬虫?网络爬虫是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。2.使用urllib爬取网页内容

2017-07-10 22:41:02 314

原创 安装Scrapy的心路历程

使用pip install scrapy命令时,出现以下错误:于是百度各种方法,说什么的都有,花了不少时间。

2017-06-28 18:50:32 227

空空如也

空空如也

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

TA关注的人

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