LeetCode
文章平均质量分 50
澪mio
我不是二刺猿
展开
-
LeetCode刷题日记 9. 回文数
LeetCode刷题日记 9. 回文数一、题目描述二、提示三、示例四、代码总结一、题目描述给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。题目链接二、提示-2^31 <= x <= 2 ^31 - 1三、示例示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为原创 2022-01-19 14:39:31 · 306 阅读 · 0 评论 -
LeetCode刷题日记 27. 移除元素
LeetCode刷题日记 27. 移除元素一、题目描述二、提示三、示例四、代码总结一、题目描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。。题目链接二、提示0 <= nums.length <= 1000 <= nums[i] <= 500 <原创 2021-10-16 18:56:06 · 85 阅读 · 0 评论 -
LeetCode刷题日记 482. 密钥格式化
LeetCode刷题日记 482. 密钥格式化一、题目描述二、提示三、示例四、代码总结一、题目描述有一个密钥字符串 S ,只包含字母,数字以及 '-'(破折号)。其中, N 个 '-' 将字符串分成了 N+1 组。给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 K 个字符。特别地,第一个分组包含的字符个数必须小于等于 K,但至少要包含 1 个字符。两个分组之间需要用 '-'(破折号)隔开,并且将所有的小写字母转换为大写字母。给定非空字符串 S 和数字 K,按照上面描述的规则进行格原创 2021-10-04 17:50:10 · 78 阅读 · 0 评论 -
LeetCode刷题日记 1. 两数之和
LeetCode刷题日记 1. 两数之和一、题目描述二、提示三、示例四、代码总结一、题目描述给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个原创 2021-10-04 17:20:33 · 81 阅读 · 0 评论 -
LeetCode刷题日记 1. 两数之和
LeetCode刷题日记 1. 两数之和一、题目描述二、提示三、示例四、代码总结一、题目描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?题目链接二、提示2 <= nums.length <= 104-109原创 2021-10-04 17:08:12 · 64 阅读 · 0 评论 -
LeetCode刷题日记 19. 删除链表的倒数第 N 个结点
LeetCode刷题日记 19. 删除链表的倒数第 N 个结点一、题目描述二、提示三、示例四、代码总结一、题目描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?题目链接二、提示链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 1001 <= n <= sz三、示例示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]原创 2021-10-04 17:03:34 · 69 阅读 · 0 评论 -
LeetCode刷题日记 876. 链表的中间结点
LeetCode刷题日记 876. 链表的中间结点一、题目描述二、提示三、示例四、代码总结一、题目描述给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。。题目链接二、提示给定链表的结点数介于 1 和 100 之间。三、示例示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNod原创 2021-10-04 16:48:00 · 97 阅读 · 0 评论 -
LeetCode刷题日记 53. 最大子序和
LeetCode刷题日记 53. 最大子序和一、题目描述二、提示三、示例四、代码总结一、题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。题目链接二、提示1 <= nums.length <= 3 * 104-105 <= nums[i] <= 105三、示例示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6原创 2021-09-28 16:44:41 · 72 阅读 · 0 评论 -
LeetCode刷题日记 217. 存在重复元素
LeetCode刷题日记 217. 存在重复元素一、题目描述二、提示三、示例四、代码总结一、题目描述给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。题目链接二、提示在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。三、示例示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入:原创 2021-09-28 16:17:11 · 76 阅读 · 0 评论 -
LeetCode刷题日记 557. 反转字符串中的单词 III
LeetCode刷题日记 557. 反转字符串中的单词 III一、题目描述二、提示三、示例四、代码总结一、题目描述给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。题目链接二、提示在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。三、示例示例:输入:"Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"四、代码package q557反转字符串中的单词3原创 2021-09-28 16:07:58 · 108 阅读 · 0 评论 -
LeetCode刷题日记 344. 反转字符串
LeetCode刷题日记 344. 反转字符串一、题目描述二、提示三、示例四、代码总结)一、题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。题目链接二、提示1 <= s.length <= 105s[i] 都是 ASCII 码表中的可打印字符三、示例示例 1:输入:s = ["h","e","l","l","o"]输出:[原创 2021-09-28 15:24:12 · 72 阅读 · 0 评论 -
LeetCode刷题日记 167. 两数之和 II - 输入有序数组
LeetCode刷题日记 167. 两数之和 II - 输入有序数组一、题目描述二、提示三、示例四、代码总结一、题目描述给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输原创 2021-09-27 17:32:11 · 84 阅读 · 0 评论 -
LeetCode刷题日记 283. 移动零
LeetCode刷题日记 283. 移动零一、题目描述二、提示三、示例四、代码总结一、题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。题目链接二、提示必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。三、示例示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]四、代码package q283移动零;public class Main { public static void main(原创 2021-09-27 16:49:51 · 62 阅读 · 0 评论 -
LeetCode刷题日记 189. 旋转数组
LeetCode刷题日记 189. 旋转数组一、题目描述二、提示三、示例四、代码总结一、题目描述给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?题目链接二、提示1 <= nums.length <= 2 * 104-231 <= nums[i] <= 231 - 10 <= k <= 105三原创 2021-09-26 14:55:51 · 78 阅读 · 0 评论 -
LeetCode刷题日记 977. 有序数组的平方
LeetCode刷题日记 977. 有序数组的平方一、题目描述二、提示三、示例四、代码总结一、题目描述给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。题目链接二、提示1 <= nums.length <= 104-104 <= nums[i] <= 104nums 已按 非递减顺序 排序三、示例示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释原创 2021-09-26 14:09:31 · 95 阅读 · 0 评论 -
LeetCode刷题日记 35. 搜索插入位置
LeetCode刷题日记 35. 搜索插入位置一、题目描述二、提示三、实例四、代码总结一、题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。题目链接二、提示1 <= nums.length <= 10^4-10^4 <= nums[i] <= 10^4nums 为无重复元素的升序排列数组-10^4 <= target <=原创 2021-09-25 20:03:45 · 77 阅读 · 0 评论 -
LeetCode刷题日记 278.第一个错误的版本
LeetCode刷题日记 278.第一个错误的版本一、题目描述二、提示三、实例四、代码总结一、题目描述你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个原创 2021-09-25 19:48:43 · 88 阅读 · 0 评论 -
LeetCode刷题日记 704.二分查找
LeetCode刷题日记 704.二分查找一、题目描述二、提示三、代码总结一、题目描述给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。二、提示1、你可以假设 nums 中的所有元素是不重复的。2、n 将在 [1, 10000]之间。3、nums 的每个元素都将在 [-9999, 9999]之间三、代码package q704二分查找;public class Ma原创 2021-09-25 19:27:08 · 88 阅读 · 0 评论