
LeetCode刷题
文章平均质量分 95
叶锦小兴
我好帅
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字符串相关题目
1、指针相关344. 反转字符串.编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]双指针即可class Solution: def reverseString(self, s: List[str]) -> None: """ Do no原创 2021-07-30 00:00:50 · 387 阅读 · 0 评论 -
哈希表经典题目
1.哈希表哈希表(hash table),也可译为散列表。官方解释为:哈希表是根据关键码的值而进行直接访问的数据结构。我们先不管这个官方解释到底啥意思,直观上看,数组就是一张散列表。哈希表中的关键码就是数组的索引下标,我们可以直接通过下标来访问数组中的元素。哈希表主要用于快速判断一个元素是否出现在集合中。只需要O(1)的时间复杂度就能做到。2.哈希函数将元素映射到哈希表上就涉及到了哈希函数。比如要查询某个学生是否在一所学校中,需要将学生姓名映射为哈希表上的索引,通过查询索引下标快速判断该学生原创 2021-06-08 22:19:03 · 4129 阅读 · 5 评论 -
链表经典题目
一、虚拟头结点题目203. 移除链表元素.给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。在链表中想要删除一个节点,让节点(待删除节点的上一个节点)的next指针指向下下个节点即可(node.next = node.next.next)。除了正常的删除,我们还需要考虑特殊的情况,比如,删除的是头节点该怎么办?第一种方式:直接使用原来的链表进行删除操作即将头节点向后移动一位即可然后再将原本的头节点删原创 2021-05-19 11:20:34 · 580 阅读 · 0 评论 -
数组经典题目
一、二分查找题目704.二分查找.给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。题目中的前提条件有:1.数组为有序数组2.数组中无重复元素数组有序是使用二分法的前提,而且如果有重复元素,二分查找返回的元素下标可能不是唯一的,这些都是使用二分法的前提,看到题目满足如上条件时,可以考虑一下是不是可以使用二分法。二分法的思想虽然简单,但涉及边界条件,需要清楚定义区间,也就是定原创 2021-04-29 17:24:03 · 1115 阅读 · 0 评论 -
Task4 查找2
两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路:第一反应是暴力破解,但是超时了(理所当然的失败)。讨论区提示用哈希表,python中可以使用字典,像这种需要索引和值的,可以原创 2020-08-27 18:09:48 · 207 阅读 · 0 评论 -
Task03查找1
搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0解题思路:二分查找定义左侧下标left,右侧下标right,计算中间下标mid每次根据nums[mid]和ta原创 2020-08-24 21:50:14 · 197 阅读 · 0 评论 -
Task02 动态规划
最长回文串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”解题思路:回文串本身就具有状态转移的性质:删除回文串的头尾两个字符还是回文串,因此就可以使用动态规划的方法解决。我们使用dp[i][j]保存状态(以下用P(i,j)表示),表示字符串s的第i到j个字符组成的子串是否为回文串:这里的其他情况包含可能性:1.子原创 2020-08-19 22:31:24 · 175 阅读 · 0 评论 -
Task01 分治
Pow(x,n)实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。解题思路:幂函数也就是将x与相乘n原创 2020-08-19 21:34:06 · 233 阅读 · 0 评论