Leetcode刷题学习
文章平均质量分 77
cryptocxf
一个摘录个人学习笔记的地方(请尊重个人学习成果,转载或摘抄请注明出处或征得本人同意!)
展开
-
Leetcode刷题记录(12):3无重复字符的最长字串
刷题网站:Leetcode难度: 中等 语言: Python计划:从简单——>到中等——>再到难。一、3无重复字符的最长字串1.1 问题描述给定一个字符串s,请你找出其中不含有重复字符串的最长子串的长度。(这里要与最长子序列做区分,最长子串要连续的字符)示例1输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b原创 2021-11-17 16:43:05 · 4323 阅读 · 0 评论 -
Leetcode刷题记录(11):19删除链表的倒数第N个结点
刷题网站:Leetcode难度: 简单 语言: Python计划:从简单——>到中等——>再到难。一、19删除链表的倒数第N个结点1.1 题目描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例1输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例2输入:head = [1], n = 1输出:[]示例3输入:head = [1,2], n = 1输出:[1]1.2 思考分析(此题自身不原创 2021-11-13 17:53:07 · 1053 阅读 · 0 评论 -
Leetcode刷题记录(10):876链表的中间结点
刷题网站:Leetcode难度: 简单 语言: Python计划:每日至少1题,从简单——>到中等——>再到难。一、876链表的中间结点1.1 题目:给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例1输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象原创 2021-11-10 15:54:58 · 525 阅读 · 0 评论 -
Leetcode刷题记录(9):557反转字符串中的单词III
刷题网站:Leetcode难度: 简单 语言: Python计划:每日至少1题,从简单——>到中等——>再到难。一、557反转字符串III1.1 题目:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例输入:"Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"1.2 思考分析:此题是输入一个字符串,然后输出字符串中每个单词的反转。看似简单,其实还是稍微要动一原创 2021-11-09 13:13:07 · 4885 阅读 · 0 评论 -
Leetcode刷题记录(8):344反转字符串
刷题网站:Leetcode难度: 简单 语言: Python计划:每日至少1题,从简单——>到中等——>再到难。一、344反转字符串1.1 题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例1输入:s = ["h","e","l","l","o"]输出:["o","l","l","e","h"]示例2输入:s = ["H"原创 2021-11-09 09:49:58 · 630 阅读 · 0 评论 -
Leetcode刷题记录(7):167两数之和II-输入有序数组
刷题网站:Leetcode难度: 简单 语言: Python计划:每日至少1题,从简单——>到中等——>再到难。一、167两数之和II-输入有序数组1.1 题目:给定一个已按照 非递减顺序排列的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <原创 2021-11-08 16:13:43 · 3637 阅读 · 0 评论 -
Leetcode刷题记录(6):283移动零
刷题网站:Leetcode难度: 简单 语言: Python计划:每日至少1题,从简单——>到中等——>再到难。一、283移动零1.1 题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。1.2 思考分析初看题目还是挺简单的,唯一的要求是在原数组上操作,不能额外的数组。所以,我原创 2021-11-07 21:14:07 · 187 阅读 · 0 评论 -
Leetcode刷题记录(5):189旋转数组
刷题网站:Leetcode难度: 中等 语言: Python计划:每日至少1题,从简单——>到中等——>再到难。一、189旋转数组1.1 题目:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?示例1输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解原创 2021-11-06 23:24:42 · 178 阅读 · 0 评论 -
Leetcode刷题记录(4):977有序数组的平方
刷题网站:Leetcode难度: 简单 语言: Python计划:每日至少1题,从简单——>到中等——>再到难。一、977有序数组的平方1.1 题目描述:给你一个按非递减顺序排序的整数数组 nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例2输入:nums原创 2021-11-05 11:40:55 · 242 阅读 · 0 评论 -
Leetcode刷题记录(3):35搜索插入位置
刷题网站:Leetcode难度: 简单 语言: Python计划:每日至少1题,从简单——>到中等——>再到难。一、35搜索插入位置1.1 问题描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(log n)的算法。示例1输入:nums = [1,3,5,6],target=5输出:2示例2输入:nums = [1,3,5,6],target=2输出:1示原创 2021-11-04 20:10:08 · 1187 阅读 · 0 评论 -
Leetcode刷题记录(2):278第一个错误版本isBadVersion(version)
刷题网站:Leetcode难度: 简单 语言: Python计划:每日至少1题,从简单——>到中等——>再到难。一、278第一个错误版本1.1 问题描述假设版本开发中,错误的版本之后的所有版本都是错误的。有n个版本[1,2,...,n],若想找出导致之后所有版本出错的第一个错误版本。可以通过调用bool isBadVersion(version)接口来判断版本号version是否在单元测试中出错。实现一个函数来查找第一个错误的版本,应该尽量减少对调用API的次数。示例1输原创 2021-11-04 10:36:06 · 762 阅读 · 0 评论 -
Leetcode刷题记录(1):704数组的二分查找
最近发现自己的编程能力越来越下降,论文看的多,却太久没搞代码,都快忘光了,有点纸上谈兵的感觉,感觉要加强代码能力。因此,本人决定在每日的闲暇之余,要坚持每日至少做1题的习惯,认清自己是小白,记录解题过程,努力提升自身代码能力。刷题网站:Leetcode难度: 简单 语言: Python**计划:**每日至少1题,从简单——>到中等——>再到难。一、704题,数组的二分查找1.1 题目:给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写出一个函数搜索nums原创 2021-11-03 16:33:12 · 271 阅读 · 0 评论