LeetCode
lvpeng笨笨
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode_42. 接雨水
leetcode_42. 接雨水题目思路分析代码展示题目leetcode题目链接思路分析题目要求:无序数组中缺失的最小正整数动态编程记录下来所有的状态值,不需要每一次都去重复计算参考博客代码展示from typing import Listclass Solution: #暴力破解:遍历每一个数,寻找左边最大值和右边最大值 def trap(self, heig...原创 2019-12-06 14:22:16 · 244 阅读 · 0 评论 -
leetcode_41. 缺失的第一个正数
leetcode_41. 缺失的第一个正数题目思路分析代码展示题目leetcode题目链接思路分析题目要求:无序数组中缺失的最小正整数桶排序代码展示from typing import Listclass Solution:#桶排序的错的理解 def firstMissingPositive1(self, nums: List[int]) -> int: ...原创 2019-12-06 14:04:58 · 210 阅读 · 0 评论 -
leetcode_40. 组合总和 II
leetcode_40. 组合总和 II题目思路分析代码展示题目leetcode题目链接思路分析题目要求:在数组中求特定值的组合(不可重复)递归和41题代码只有在递归处有改动代码展示from typing import Listclass Solution: def combinationSum1(self, candidates: List[int], target: ...原创 2019-12-05 21:51:26 · 209 阅读 · 0 评论 -
leetcode_39. 组合总和
leetcode_39. 组合总和题目思路分析代码展示题目leetcode题目链接思路分析题目要求:在数组中求特定值的组合(可重复)递归代码展示from typing import Listclass Solution: def combinationSum1(self, candidates: List[int], target: int) -> List[List...原创 2019-12-05 21:11:04 · 239 阅读 · 0 评论 -
leetcode_38. 报数
leetcode_38. 报数题目思路分析代码展示题目leetcode题目链接思路分析题目要求:根据上一个数,按照规律,依次报数str1保存所有序列对应的结果,其实就是求1到n的str1数组值。有点像动态规划,根据前一个结果求当下的结果。代码展示class Solution: def countAndSay(self, n: int) -> str: ...原创 2019-11-16 11:16:57 · 122 阅读 · 0 评论 -
leetcode_36. 有效的数独
leetcode_36. 有效的数独题目思路分析代码展示题目leetcode题目链接思路分析题目要求:判断数独是否合法设置 每行 每列 每个方格 都先分配一个空集合特别是 每个方格的唯一标识的处理遍历每一个数,如果不在集合中加入,否则退出false代码展示class Solution: def isValidSudoku(self, board: List[List[...原创 2019-11-16 10:15:33 · 126 阅读 · 0 评论 -
leetcode_35. 搜索插入位置
leetcode_35. 搜索插入位置题目思路分析代码展示题目leetcode题目链接思路分析题目要求:找出目标元素在有序数组中插入位置折半查找代码展示class Solution: def searchInsert(self, nums, target: int) -> int: left = 0 right = len(nums)-1...原创 2019-11-05 19:56:02 · 131 阅读 · 0 评论 -
leetcode_34. 在排序数组中查找元素的第一个和最后一个位置
leetcode_34. 在排序数组中查找元素的第一个和最后一个位置题目思路分析代码展示题目leetcode题目链接思路分析题目要求:找出目标元素在有序数组中的起始和终止位置由于有序,先折半找到相应位置再向两边拓展,找到出现的第一个和最后一个代码展示class Solution: def searchRange(self, nums, target): ...原创 2019-11-05 19:48:28 · 149 阅读 · 0 评论 -
leetcode_33. 搜索旋转排序数组
leetcode_33. 搜索旋转排序数组题目思路分析代码展示题目leetcode题目链接思路分析题目要求:有序数组旋转后 寻找特定元素的下标(时间复杂度为logn)先找到旋转的位置分开进行2次折半查找代码展示class Solution: def search(self, nums, target): left = 0 right = ...原创 2019-11-05 19:38:45 · 132 阅读 · 0 评论 -
leetcode_32. 最长有效括号
leetcode_32. 最长有效括号题目思路分析1代码展示1思路分析2代码展示2题目leetcode题目链接思路分析1题目要求:求最长的括号匹配字符串暴力 遍历 判断代码展示1 def isValid(self, s: str) -> bool: #把列表当作栈使用 stack = [] for i in s: ...原创 2019-11-05 17:18:07 · 185 阅读 · 0 评论 -
leetcode_31. 下一个排列
leetcode_31. 下一个排列题目思路分析代码展示题目leetcode题目链接思路分析题目要求:求比当前排序大的排序(最接近)举例(1)13156-》13165(2)13152-》13215(3)24321-》31224代码展示class Solution: def nextPermutation(self, nums: List[int]) -> None...原创 2019-11-05 16:34:49 · 243 阅读 · 0 评论 -
leetcode_30. 串联所有单词的子串
leetcode_30. 串联所有单词的子串题目思路分析1代码展示1思路分析2代码展示2题目leetcode题目链接思路分析1题目要求:找出 由words数组组成的字符串(每一个元素word等长),在字符转s中的位置数组words生成的字典dic2遍历字符串,从头开始判断长度为lenwords的字符串 生成的字典dic1如果dic1 与 dic2 相同,说明找到代码展示1 ...原创 2019-10-30 22:29:19 · 235 阅读 · 0 评论 -
leetcode_29. 两数相除
leetcode_29. 两数相除题目思路分析代码展示题目leetcode题目链接思路分析题目要求:2数相除,不能用 * / % 这3和符号参考博客利用循环中的 range代码展示class Solution: def divide(self, dividend: int, divisor: int) -> int: flag =1 i...原创 2019-10-30 22:16:16 · 123 阅读 · 0 评论 -
leetcode_28. 实现 strStr()
@[TOC](leetcode_28. 实现 strStr())题目leetcode题目链接思路分析题目要求:普通模式串匹配2层遍历i 可以遍历到 hlen-nlen+1j 可以用来 对 子串,模式串 统一向后遍历代码展示class Solution: def strStr(self, haystack: str, needle: str) -> int: ...原创 2019-10-29 19:37:03 · 115 阅读 · 0 评论 -
leetcode_27. 移除元素
leetcode_27. 移除元素题目思路分析代码展示题目leetcode题目链接思路分析题目要求:数组中删除 val也是 筛选,删除,2种方法。代码展示class Solution: def removeElement(self, nums: List[int], val: int) -> int: numslen = len(nums) ...原创 2019-10-29 19:29:27 · 132 阅读 · 0 评论 -
leetcode_26. 删除排序数组中的重复项
leetcode_26. 删除排序数组中的重复项题目思路分析代码展示题目leetcode题目链接思路分析题目要求:排序数组中删除重复值筛选,删除,2中方法。代码展示class Solution: def removeDuplicates(self, nums: List[int]) -> int: numslen = len(nums) ...原创 2019-10-29 19:25:26 · 98 阅读 · 0 评论 -
leetcode_25. K 个一组翻转链表
leetcode_25. K 个一组翻转链表题目思路分析代码展示题目leetcode题目链接思路分析题目要求:链表中每隔k个节点进行逆置链表逆置 想到 头插,栈k个先入栈k个再出栈,链接起来最后一组(少于k个),直接链接起来代码展示# Definition for singly-linked list.# class ListNode:# def __init_...原创 2019-10-29 19:17:30 · 122 阅读 · 0 评论 -
leetcode_24. 两两交换链表中的节点
leetcode_24. 两两交换链表中的节点题目思路分析代码展示题目leetcode题目链接思路分析题目要求:链表中每隔2个节点交换位置链表的基本操作代码展示# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# ...原创 2019-10-28 21:59:50 · 136 阅读 · 0 评论 -
leetcode_23. 合并K个排序链表
23. 合并K个排序链表题目思路分析代码展示题目leetcode题目链接思路分析题目要求:合并多个有序链表参考博客多次二路归并不断两两归并将当前归并好的链表赋值到前一个链表扩大步长,不断归并。代码展示# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# ...原创 2019-10-28 21:51:00 · 132 阅读 · 0 评论 -
leetcode_22. 括号生成
leetcode_22. 括号生成题目思路分析代码展示题目leetcode题目链接思路分析题目要求:生成有效的括号组合参考博客递归只有在左右括号都加了n次后,res才会添加如果 if left<n: ,说明当前可以再添加左括号如果 if left>right: 说明当前左括号的个数大于右括号的个数 可以添加右括号代码展示class Solution: ...原创 2019-10-28 21:35:20 · 175 阅读 · 0 评论 -
leetcode_21. 合并两个有序链表
leetcode_21. 合并两个有序链表题目思路分析代码展示题目leetcode题目链接思路分析题目要求:合并两个有序链表2个小的链表交叉合并,小的先链接起来。代码展示# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x...原创 2019-10-24 17:35:48 · 148 阅读 · 0 评论 -
leetcode_20. 有效的括号
leetcode_20. 有效的括号题目思路分析代码展示题目leetcode题目链接思路分析题目要求:括号匹配如果左括号 入栈。如果右括号 出栈,判断当前栈顶是否与当前元素匹配。代码展示 #把列表当作栈使用 stack = [] # 这样的字典的设计 也是有讲究的 # ) : ( 左括号为值,右括号为键 ...原创 2019-10-22 19:39:16 · 201 阅读 · 0 评论 -
leetcode_19. 删除链表的倒数第N个节点
leetcode_19. 删除链表的倒数第N个节点题目思路分析1代码展示1思路分析2代码展示2题目leetcode题目链接思路分析1题目要求:删除链表的倒数第N个节点遍历一遍链表,求出链表长度由于没有头节点,需要分情况讨论代码展示1class Solution: def removeNthFromEnd(self, head: ListNode, n: int) -&g...原创 2019-10-22 18:36:15 · 121 阅读 · 0 评论 -
leetcode_18. 四数之和
leetcode_18. 四数之和题目思路分析代码展示题目leetcode题目链接思路分析题目要求:在数组中找4个数,和为最后的target通过2层循环,建立每2数之和的每一种情况的字典(2数之和:2数下标)判断 另外2个数的和,是否在字典里如果在字典里,并且不重复,再添加到最终的结果代码展示class Solution: def fourSum(self, nums...原创 2019-10-21 22:35:02 · 142 阅读 · 0 评论 -
leetcode_17. 电话号码的字母组合
leetcode_17. 电话号码的字母组合题目思路分析代码展示题目leetcode题目链接思路分析题目要求:写出手机输入各种情况下的排列组合使用字典排列组合代码展示class Solution: def letterCombinations(self, digits): res=[] dic = {2: ['a', 'b', 'c'],...原创 2019-10-17 18:10:56 · 149 阅读 · 0 评论 -
leetcode_07. 整数反转
leetcode_07. 整数反转题目思路分析代码展示题目leetcode题目链接思路分析题目要求:逆置做到现在最简单的一题代码展示class Solution: def reverse(self, x: int) -> int: temp=0 flag=1 if x<0: flag=0 x=-x w...原创 2019-09-11 22:19:19 · 120 阅读 · 0 评论 -
leetcode_06. Z 字形变换
爱迪生原创 2019-09-10 21:34:27 · 155 阅读 · 0 评论 -
leetcode_05. 最长回文子串
leetcode_05. 最长回文子串题目思路分析思路分析(改进)代码展示(改进)题目leetcode题目链接思路分析题目要求:求最长回文子串。这题 我的第一思路是 从头对每一个节点进行遍历以当前节点向两边扩展,一直记录 更新当前的最大长度。但是 奇数,偶数回文的不确定性 的问题没有解决思路分析(改进)奇偶不同情况统一如果是偶数个,传入2个相邻节点的下标如果是奇数个,传入...原创 2019-09-08 22:49:21 · 116 阅读 · 0 评论 -
leetcode_04. 寻找两个有序数组的中位数
leetcode_04. 寻找两个有序数组的中位数题目思路分析思路分析(改进)代码展示(改进)题目leetcode题目链接思路分析题目要求:找两个有序数组 中位数。这题 我的第一思路是 找到中位数对应的位置pos对两个有序数组个数之和分奇偶:如果是奇数,找到相应位置pos的元素如果是偶数,找到相应位置pos和pos-1元素的平均值代码一直会报错 (数组越界等各种问题)先搁置,以...原创 2019-09-05 19:29:51 · 187 阅读 · 0 评论 -
leetcode_03. 无重复字符的最长子串
leetcode_03. 无重复字符的最长子串题目思路分析代码展示思路分析(改进)代码展示(改进)题目leetcode题目链接思路分析题目要求:求不含有重复字符的 最长子串 的长度。这题 我的第一思路就是2层循环第一层循环,字符串从头开始遍历第二层循环,计算每一个下标为i的元素开头的最大不连续的字符串 并计算其长度代码展示class Solution: def leng...原创 2019-09-04 21:06:35 · 156 阅读 · 0 评论 -
leetcode_02. 两数相加
leetcode_02. 两数相加题目思路分析代码展示题目leetcode题目链接思路分析题目要求:2个链表 逆序表示十进制树,按位数 两两相加。这题 我的的思路就是从个位慢慢往上加如果加起来的值超过10,就要进位,新建节点的值为1。代码展示class Solution: def addTwoNumbers(self, l1: ListNode, l2: ListNode)...原创 2019-09-03 22:08:21 · 121 阅读 · 0 评论 -
leetcode_08. 字符串转换整数 (atoi)
leetcode_08. 字符串转换整数题目思路分析代码展示题目leetcode题目链接思路分析题目要求:抽取字符串前的数字一直找到第一个非空字符判断提取出来的数字符号将数字提取判断数字范围在提交代码的过程中还会有许多小问题,意义改进即可代码展示class Solution: def is_number(self,s): #百度出来的 判断字符是否是数字...原创 2019-09-15 14:16:25 · 237 阅读 · 0 评论 -
leetcode_09. 回文数
leetcode_09. 回文数题目思路分析代码展示题目leetcode题目链接思路分析题目要求:判断数字是否是回文如果小于0 return False如果单个数字 return True迭代 反转判断是否相同代码展示class Solution: def isPalindrome(self, x: int) -> bool: if x<0: ...原创 2019-09-16 11:01:54 · 110 阅读 · 0 评论 -
leetcode_10. 正则表达式匹配
leetcode_10. 正则表达式匹配题目思路分析思路分析(改进)代码展示题目leetcode题目链接思路分析题目要求:表达式匹配‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素一层循环,对 ‘*’ , ‘.’ 进行判断,是实现不了的。‘.’ 比较好处理‘*’不太好处理(有多种情况)思路分析(改进)思路参考博客对‘*’的处理,使用递归,一层循环解决不...原创 2019-09-25 22:19:41 · 115 阅读 · 0 评论 -
leetcode_11. 盛最多水的容器
leetcode_11. 盛最多水的容器题目思路分析代码展示思路分析(改进)代码展示(改进)题目leetcode题目链接思路分析**题目要求:求由2个hight[i],hight[j]高度,围成的能容纳的最大水量。两层循环,暴力破解。代码展示 def maxArea(self, height): maxwater = 0 i = 0 while...原创 2019-09-26 16:58:41 · 191 阅读 · 0 评论 -
leetcode_12. 整数转罗马数字
leetcode_12. 整数转罗马数字题目思路分析代码展示思路分析(改进)代码展示(改进)题目leetcode题目链接思路分析题目要求:整数转换成罗马数字。不断地对(1000,500,100,50,10,5)取余。但是要对 40 90 400 900特殊处理,比较麻烦代码展示class Solution: def intToRoman(self, num: int) ...原创 2019-09-27 19:51:47 · 146 阅读 · 0 评论 -
leetcode_13. 罗马数字转整数
leetcode_13. 罗马数字转整数题目思路分析代码展示(部分)思路分析(改进)代码展示(改进)题目leetcode题目链接思路分析题目要求:罗马数字转换成整数。不断地取出当前字符串的前一个,前两个,前三个,前四个。与固定的列表进行匹配。d ={1:("", “M”, “MM”, “MMM”),2:("", “C”, “CC”, “CCC”, “CD”, “D”, “DC”, ...原创 2019-09-28 15:01:26 · 118 阅读 · 0 评论 -
leetcode_14. 最长公共前缀
leetcode_14. 最长公共前缀题目思路分析代码展示题目leetcode题目链接思路分析题目要求:字符串数组中的最长公共前缀就是2层循环,思路比较简单但是在提交的时候,各种报错,一一解决就好。在不断修改报错的时候,感觉到了代码回滚的必要性突然才真真明白git代码仓库的价值。代码展示class Solution: def longestCommonPrefix(se...原创 2019-09-28 19:03:01 · 171 阅读 · 0 评论 -
leetcode_15. 三数之和
leetcode_15. 三数之和题目思路分析思路分析(改进.1)代码展示.1代码展示.1结果思路分析(改进.2)代码展示.2题目leetcode题目链接思路分析题目要求:在数组中查找和为0的3个元素(不能重复)找3个元素和为0,3层循环,暴力破解肯定不行。如果是找2个元素,比较简单,用字典。找3个,没思路。思路分析(改进.1)参考博客https://blog.csdn.net/a...原创 2019-10-08 19:49:27 · 221 阅读 · 0 评论 -
leetcode_16. 最接近的三数之和
leetcode_16. 最接近的三数之和题目思路分析代码展示题目leetcode题目链接思路分析题目要求:在数组中查找3个数使他们的和与目标值最接近和15题十分类似,采用 i, left, right 3个指针,寻找结果代码展示class Solution: def threeSumClosest(self, nums, target: int) -> int: ...原创 2019-10-09 14:38:31 · 110 阅读 · 0 评论
分享