自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Qichao的博客

日常,笔记,学习心得

  • 博客(11)
  • 收藏
  • 关注

原创 Leetcode 31--下一个排列(字典序) --Python

@Leetcode 31–下一个排列 --Python 下一个排列 题目 题目分析 关于字典序我们需要特别注意的几点原则: (1) 字典序的值从左到右一次变大 (2)每次的变换遵循左边的值不动,先给右边的排序,在更换左边。 (本题涉及到字典序的问题,关于字典序的详细内容,可参考链接: https://blog.csdn.net/qq_33594380/article/details/82377...

2019-10-08 20:30:39 203

原创 Leetcode 19 --删除链表的倒数第N个节点 --python

@[Leetcode 19 --删除链表的倒数第N个节点 --python] 删除链表的倒数第N个节点 题目 题目分析 这道题我拿到题目首先想到的是二次遍历,不过在这里两种方法都会介绍 二次遍历 首先第一次遍历找到要删除节点前面的index号 第二次遍历链表删除节点 一次遍历 要用到两个节点,并且两个节点要保持n的距离 当第二个节点的next为None时,删除第一个节点之后的节点 ...

2019-09-17 11:58:14 120

原创 Leetcode 21 --合并两个有序链表 --python

@[Leetcode 21 --合并两个有序链表 --python] 合并两个有序链表 题目分析 这道题目有两种方法:1. 递归;2.迭代 这里详细介绍迭代,递归之后补充 根据题目的描述,先整理流程要满足一下几个条件: 要有两个指针分别指向L1,L2 将指针指向的节点比大小 按要求赋值给新链表 !!!值得注意的地方就是链表赋值 //赋值 new.next =l...

2019-09-15 22:42:41 153

原创 Leetcode 8 -- 字符串转换整数(atoi)--python

@[Leetcode 8 – 字符串转换整数(atoi] 字符串转换整数(atoi) 题目 题目分析 根据题目的描述,先整理流程要满足一下几个条件: 去掉字符串中左边的非空字符 去掉非空字符后,如果第一个是字母或者字符串为空,return0 如果第一个字符是符号,保留下来。 如果第一个字符是数字,保留,计算最后数字的大小是否符合条件,符合就输出,不符合就输出指定值。 代码 ps:好像还有正...

2019-09-04 15:31:57 111

原创 Leetcode 1 -- 两数之和 -- Python

@Leetcode 1 – 两数之和 – Python 题目 题目分析 暴力法: 直接进行两次for循环 采用字典: 现把list都存储进字典,在进行一个for循环遍历,找符合要求的值 采用字典模拟哈希表: 边存储进字典,边遍历。 代码 //暴力法 class Solution: def twoSum(self, nums: List[int], target: int) ->...

2019-07-29 10:41:09 80

原创 Leetcode 15 -- 三数之和 --Python

Leetcode 15 -- 三数之和 --Python题目题目分析 题目 题目分析 首先看到题目,不知道大家有没有觉得和两数之和的题目有些相似。最直接的方法就是暴力法,设置三个for循环,时间复杂度为O(n3), 空间复杂度为O(1),此方法虽简单,但是会超过时间限制。代码段如下 //暴力法 class Solution: def threeSum(self, nums: List...

2019-07-29 10:21:18 230

原创 Leetcode11 -- 盛最多水的容器 -- Python

@Leetcode11 – 盛最多水的容器 盛最多水的容器 题目 题目分析 看到题目后,它说求盛最多水的容器相当于是求最大的面积。我首先想到的是暴力法,指定一个遍历其他的柱子,但是时间复杂度是O(n2), 抱着试一下的心态,但没有想到超出了运行时间。代码如下图。 下面介绍一下官方题解中介绍的双指针法: 它主要是用减少短的高度来弥补宽度的减少,因为高度有可能还会增加,这种方法和快速排序有...

2019-06-30 15:41:58 138

原创 Leetcode5 -- 最长回文子串 -- Python -- 中心扩散法

@Leetcode5 – 最长回文子串 – 中心扩散法 最长回文子串 题目 题目分析 首先理解什么是回文串,就是正着读和反着读都一样的字符串 看了题解一共有三种方法,暴力法,中心扩散法,动态规划法,这里着重介绍中心扩散法。 中心扩散法的主要解题思路: (1)遍历字符串的每一个字符,每一个字符都作为一次中心,向两边扩散,如果两边一样,就继续扩散,不一样则停止 (2)但是会分两种情况,就是回文串是...

2019-06-27 14:18:51 333

原创 LeetCode 4 --寻找两个有序数组的中位数--Python

@[LeetCode 4 --寻找两个有序数组的中位数] 寻找两个有序数组的中位数 题目 题目分析 (和leetcode官方题解的思路一样,只是加了一些自己的理解) 首先要理解中位数的含义:中位数将一个集合分成两个大小相等的部分,并且中位数总是大于第一个子集的元素,小于第二个子集的元素。 在这道题中有两个有序数组,他要求时间复杂度为 O(log(m + n)),有两种方法,第一种是将两个数组合...

2019-06-20 15:08:35 155

原创 LeetCode 3 --无重复字符的最长子串

@[LeetCode 3 --无重复字符的最长子串] 无重复字符的最长子串 题目 题目分析 题目要求找到的最长子串,并不是子序列 对于‘dvdf’ 的字符串来说,他的最长子串是3,在判断到第2个d的时候,不可以把记录最长字符串的a清零,还要保留d后面的字符,在这里只有v,并且加上当前的d。(一开始我在写的时候,没有注意到这个问题,一直出错) 值得注意的是字符串没有append这个属性,直接用+...

2019-06-12 17:21:48 171

原创 LeetCode 2 --两数相加

@[Leetcode2两数相加] 两数相加 题目 解答 分析 //结点赋值 r.next = ListNode(tem%10) r = r.next //一开始只写了一句一直出不来想要的结果 值得注意的还有一点一定要设置两个链表,在一开始将new赋值给r,后续都是对r操作,最后返回的是new *还有一种思路是递归,不用while循环,直接调用本身函数。 每天一点进步,加油!。1 @Qi...

2019-06-11 17:59:57 109

空空如也

空空如也

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

TA关注的人

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