E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
leetcode_python
python实现
leetcode_Python
爬取 LeetCode 题目及 AC 代码
前言最近在刷算法题,想要整理一下做个总结,发现每道题都要复制粘贴题目和解法实在太浪费时间了。本着解放劳动力的思维研究了下LeetCode爬虫,把题目和代码爬取自动生成Markdown文档。我已经把项目提交到了github上了,欢迎大家star、fork。在这里贴的代码为了方便理解,在源码上做了些改动。模拟登陆LeetCdoe页面分析要做一个爬虫,先得了解页面逻辑。如果有现成的接口可以直接调用,获取
eternal?
·
2024-02-13 00:29
LeetCode_Python
(2)_两数相加
需求给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0开头。示例:输入:(2->4->3)+(5->6->4)输出:7->0->8原因:342+465=807解决思路获取2个链表,分别进行遍历,通过借位(个十百千万)进
惑也
·
2023-12-17 01:21
模拟卷Leetcode 题解汇总
import各种Node其他:PAT乙级-【题目+解答】汇总PAT甲级-【题目+解答】汇总PTA-浙大版《Python程序设计》AC解答汇总GitHub:https://github.com/monijuan/
leetcode_python
邂逅模拟卷
·
2023-10-28 11:55
#
leetcode
leetcode
算法
贪心算法及Jump Game系列题详解
本博文所有的代码均可在https://github.com/Hongze-Wang/LeetCode_Javahttps://github.com/Hongze-Wang/
LeetCode_Python
从流域到海域
·
2023-10-09 12:32
数据结构与算法分析
LeetCode刷题总结
贪心算法
动态规划
算法
测试&测开面试要知道的那些事--算法篇(
LeetCode_Python
)
LeetCode.两数之和题目给定一个整数数组nums和一个目标值target在该数组中找出和为目标值的那两个整数,并返回他们的数组下标不能重复利用这个数组中同样的元素。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]解题思路:创建空字典,将目标值与nums列表中的数值之差存储在字典中,同时与其他数值进行比对。字典中的键(
小胖虎*
·
2023-03-31 23:10
面试
算法
leetcode
面试
python
LeetCode_Python
(11)_盛最多水的容器
需求给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai)。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai)和(i,0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为2。图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。示例输入:[1,8
惑也
·
2022-02-03 16:32
LeetCode_Python
(19)_删除链表的倒数第N个节点
需求给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例给定一个链表:1->2->3->4->5n=2当删除了倒数第二个节点后,链表变为1->2->3->5说明给定的n保证是有效的。解决思路已知n是有效的,不用对n进行判断,遍历链表添加到list中;对list长度进行判断,返回不同的情况。参考代码classListNode:def__init__(self,x):self.val=x
惑也
·
2021-06-06 02:08
python 字符串查找子串
leetcode_python
入门,包含27个leetcode代码
在leetcode学习过程中,发现leetcode(力扣(LeetCode))中,代码没有输入和输出部分,为了更好的理解python语言,将leetcode中的代码进行了补充,由于本人通过刷27个代码,感觉对python语言已理解差不多,因此没有继续。给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。给出两个非空的链表用来表示两个非负
weixin_39663360
·
2020-12-18 05:35
python
字符串查找子串
leetcode
LeetCode_Python
刷题:7.整数反转
LeetCode:7.整数反转题目:给出一个32位的有符号整数,你需要将这个整数中每位上的数字反转。示例1:输入:123输出:321示例2:输入:-123输出:-321示例3:输入:120输出:21示例4:输入:8463847412输出:溢出:0输入:7463847412输出:2147483647代码:Num=list(input("输入一个整数:"))whileNum[-1]=='0':#注意这
Zhu_w
·
2020-08-22 02:00
Python编程练习
LeetCode_Python
刷题:9.回文数
LeetCode:9.回文数题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例1:输入:121输出:true示例2:输入:-121输出:false示例3:输入:10输出:false代码:defisPalindrome(x):falseFlag=0Num=list(str(x))#不能写成Num=[str(x)]reverseNum=list(Num)
Zhu_w
·
2020-08-22 02:00
Python编程练习
LeetCode_Python
(15)_三数之和
需求给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a+b+c=0?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如:给定数组nums=[-1,0,1,2,-1,-4]输出:[[-1,0,1],[-1,-1,2]]方法一:排序+双指针通常地,遇到似乎无从下手的问题时,不妨尝试去寻找或制造一种规律,排序是常用的手段之一,排序可以让元素之间呈
惑也
·
2020-08-19 22:07
Leetcode_Python
48 旋转图像
解题思路本题思路就是,先将二维数组左右对调,再沿着反对角线对调。代码classSolution(object):defrotate(self,matrix):""":typematrix:List[List[int]]:rtype:NoneDonotreturnanything,modifymatrixin-placeinstead."""N=len(matrix)#列数==列数foriinran
安静到无声
·
2020-08-17 23:51
LeetCode
leetcode
数组_二维数组变换
Leetcode_Python
566 重塑矩阵
解题思路本题主要考查二维数组的遍历,我们首先将二维数据降为一维,在进行行列的遍历赋值。代码classSolution(object):defmatrixReshape(self,nums,r,c):""":typenums:List[List[int]]:typer:int:typec:int:rtype:List[List[int]]"""mask=[[0]*cforiinrange(r)]M=
安静到无声
·
2020-08-17 23:51
LeetCode
数组_二维数组变换
leetcode
数据结构与算法
Leetcode_Python
54 螺旋矩阵
解题思路以每层圈为单位,遍历矩阵矩阵层数计算方式为:lay_num=(min(width,length)+1)//2每层分为从左到右、从上到下、从右到左、从下到上四个循环注意每一层循环的开始位置和结束位置是解决本问题的关键当某一层只有一行或者一列的时候(有可能都满足,即只有一个元素)就不需要再执行第三个或者第四个和循环,否则会被重复输出。代码classSolution(object):defspi
安静到无声
·
2020-08-17 23:50
LeetCode
Leetcode_Python
59 螺旋矩阵 II
解题思路本题目的思路与54题的思想相似,套用即可。代码classSolution(object):defgenerateMatrix(self,n):""":typen:int:rtype:List[List[int]]"""matrix=[[0]*nfor_inrange(n)]rounds=(n+1)//2t=1wide=high=nforiinrange(rounds):#轮次逐层计算for
安静到无声
·
2020-08-17 23:50
LeetCode
Leetcode_Python
396 旋转函数
解题思路当本题的len(A)1时,我们可以得到递推公式即F(k)=F(k-1)+len(A)*A[len(A)-k]+sum(A)。其中最大的值,即为所求。代码classSolution(object):defmaxRotateFunction(self,A):""":typeA:List[int]:rtype:int"""long=len(A)sum_1=sum(A)print(sum_1)if
安静到无声
·
2020-08-17 23:19
LeetCode
leetcode
数组_数组的旋转
数据结构与算法
Leetcode_Python
697 数组的度
思考:本题目主要是找出数组的度,然后根据度对应的数值找到最短的子数列(度相同),以[2,3,4,3,6,7,7]为例。第一步我们就找到数组的度,由题意的得,数组的度就是数组中最高频数字出现的个数。我们可以组成一个字典,键值为nums中的数,我们统计每个数出现的个数{2:1,3:2,4:1,6:1,7:2}。找出数组的度du=2,并反求出数值对应具体集合jihe={3,7}。通过数值集合组成一个空的
安静到无声
·
2020-08-07 16:41
LeetCode
数组_统计数组中元素
LeetCode_Python
(10)_正则表达式匹配
需求给定一个字符串(s)和一个字符模式(p)。实现支持.和*的正则表达式匹配。.匹配任意单个字符。*匹配零个或多个前面的元素。说明匹配应该覆盖整个字符串(s),而不是部分字符串。s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。示例1输入:s="aa"p="a"输出:false解释:"a"无法匹配"aa"整个字符串。示例2输入:s="aa"p="a"输
惑也
·
2020-07-04 11:47
LeetCode_Python
(1)_两数之和
需求给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定nums=[4,11,4,15,4],target=8因为nums[0]+nums[2]=4+4=8,所以返回[0,2]解决方案方法一不重复利用同样的元素,即不能自己加自己,同一个元素也不能使用
惑也
·
2020-04-08 19:56
LeetCode_Python
(4)_寻找两个有序数组的中位数
需求给定两个大小为m和n的有序数组nums1和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m+n))。你可以假设nums1和nums2不会同时为空。示例1:nums1=[1,3]nums2=[2]则中位数是2.0示例2:nums1=[1,2]nums2=[3,4]则中位数是(2+3)/2=2.5解决思路合并2个列表,并排序(升序);如果合并后的列表元素个数为奇
惑也
·
2020-03-23 16:30
LeetCode_Python
(12)_整数转罗马数字
需求罗马数字包含以下七种字符:I,V,X,L,C,D和M。罗马字符对应数值I1V5X10L50C100D500M1000例如,罗马数字2写做II,即为两个并列的1。12写做XII,即为X+II。27写做XXVII,即为XX+V+II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,
惑也
·
2020-03-07 05:45
LeetCode_Python
(13)_罗马数字转整数
需求罗马数字包含以下七种字符:I,V,X,L,C,D和M。罗马字符对应数值I1V5X10L50C100D500M1000例如,罗马数字2写做II,即为两个并列的1。12写做XII,即为X+II。27写做XXVII,即为XX+V+II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,
惑也
·
2020-02-28 09:53
LeetCode_Python
(17)_电话号码的字母组合
需求给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。数字到字母的映射,与电话按键相同。注意1不对应任何字母。示例输入:"23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。方法一:遍历上次的组合结果,逐个合并首先判断特殊情况,数字长度为0或数字为空时,直接返回
惑也
·
2020-02-27 16:04
LeetCode_Python
(7)_整数反转
需求给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入:123输出:321示例2:输入:-123输出:-321示例3:输入:120输出:21注意:假设我们的环境只能存储得下32位的有符号整数,则其数值范围为[−231,231−1]。请根据这个假设,如果反转后整数溢出那么就返回0。解决思路将整数转换为字符串,如果长度为1,则直接返回;通过三元表达式判断,如果字符串首字符
惑也
·
2020-02-21 22:37
LeetCode_Python
(14)_最长公共前缀
需求编写一个函数来查找字符串数组中的最长公共前缀。说明所有输入只包含小写字母a-z。如果不存在公共前缀,返回空字符串""。示例1输入:["flower","flow","flight"]输出:"fl"示例2输入:["dog","racecar","car"]输出:""解释:输入不存在公共前缀。解决思路查找数组中最短的元素;对最短元素进行遍历,与数组中元素的组成字母进行对比,直到不相等时,返回当前最
惑也
·
2020-02-19 09:46
LeetCode_Python
(20)_有效的括号
需求给定一个只包括'('、')'、'{'、'}'、'['、']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意:空字符串可被认为是有效字符串。示例1输入:"()"输出:true示例2输入:"()[]{}"输出:true示例3输入:"(]"输出:false示例4输入:"([)]"输出:false示例5输入:"{[]}"输出:true
惑也
·
2020-02-16 14:44
LeetCode_Python
(8)_字符串转换整数
需求请实现一个函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该
惑也
·
2019-12-27 22:39
LeetCode_Python
(6)_Z 字形变换
需求将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z字形排列。比如输入字符串为"LEETCODEISHIRING"行数为3时,排列如下:LCIRETOESIIGEDHN输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。示例1:输入:s="LEETCODEISHIRING",numRows=3输出:"LCIRETOESIIGEDHN"示例2:输入:
惑也
·
2019-12-13 11:26
LeetCode_Python
(5)_最长回文子串
需求给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。示例1:输入:"babad"输出:"bab"注意:"aba"也是一个有效答案。示例2:输入:"cbbd"输出:"bb"解决方法:滑动循环回文字符:正读和反读都一样的字符串。当不存在时,返回字符串的最后一个字符;根据字符串的长度,利用滑动窗口,每循环一次减少1位,得到所有的子串,且从最长子串开始,逐个进行反转对比,如果相
惑也
·
2019-01-21 20:02
LeetCode_Python
(3)_无重复字符的最长子串
需求给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:"abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:"bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。示例3:输入:"pwwkew"输出:3解释:因为无重复字符的最长子串是"wke",所以其长度为3。请注意,你的答案必须是子串的长度,"pwke
惑也
·
2018-12-31 21:31
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他