- 博客(20)
- 收藏
- 关注
原创 leetcode刷题记录-删除有序数组中的重复项
leetcode刷题记录 题目 删除有序数组中的重复项 题目描述 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。 将最终结果插入 nums 的前 k 个位置后返回 k 。 不要使用额外的空间,你必须在 原地 修改输入数组
2022-04-05 09:53:33
387
原创 leetcode刷题记录-合并K个升序链表
leetcode刷题记录 题目 合并K个升序链表 题目描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1->3->4, 2->6 ] 将它们合并到一个有序链表中得到。 1->1->2->3->4->4->5->
2022-04-05 09:53:00
203
原创 leetcode刷题记录-括号生成
leetcode刷题记录 题目 括号生成 题目描述 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2: 输入:n = 1 输出:[“()”] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/generate-parentheses 著作权归领扣网络所有。商业转载请联系
2022-04-05 09:52:39
238
原创 leetcode刷题记录-合并两个有序链表
leetcode刷题记录 题目 合并两个有序链表 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入:l1 = [], l2 = [0] 输出:[0] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/merg
2022-04-05 09:52:15
208
原创 leetcode刷题记录-有效的括号
leetcode刷题记录 题目 有效的括号 题目描述 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入:s = “()” 输出:true 示例 2: 输入:s = “()[]{}” 输出:true 示例 3: 输入:s = “(]” 输出:false 示例 4: 输入:s = “([)]” 输出:false 示例 5: 输入:s = “{[]}” 输出:
2022-04-05 09:51:46
145
原创 leetcode刷题记录-删除链表的倒数第 N 个结点
leetcode刷题记录 题目 删除链表的倒数第 N 个结点 题目描述 给你一个链表,删除链表的倒数第 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] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/remove-nth-node
2022-04-05 09:51:15
120
原创 leetcode刷题记录-电话号码的字母组合
leetcode刷题记录 题目 电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = “23” 输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”] 示例 2: 输入:digits = “” 输出:[] 示例 3: 输入:digits = “2” 输出:[“a”,“b”,“c”] 来
2022-04-05 09:50:40
123
原创 leetcode刷题记录-三数之和
leetcode刷题记录 题目 三数之和 题目描述 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1: 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]] 示例 2: 输入:nums = [] 输出:[] 示例 3: 输入:nums = [0] 输出:[] 来源:力扣(LeetCode) 链
2022-04-05 09:47:53
129
原创 leetcode刷题记录-最长公共前缀
leetcode刷题记录 题目 题目描述 思路 代码 // A code block var foo = 'bar'; // An highlighted block var foo = 'bar';
2022-04-05 09:46:49
158
原创 leetcode刷题记录- 整数转罗马数字
leetcode刷题记录 题目 整数转罗马数字 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写
2022-04-05 09:11:07
98
原创 leetcode刷题记录-罗马数字转整数
leetcode刷题记录 题目 罗马数字转整数 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写
2022-04-04 18:35:11
146
原创 leetcode刷题记录-盛水最多的容器
leetcode刷题记录 题目 盛水最多的容器 题目描述 给你一个长度为n的整数数组高度,画了n条垂直线,使得第I条线的两个端点分别是(I,0)和(I,height[i])。 找出与x轴一起形成一个容器的两条线,这样容器中的水最多。 返回容器可以储存的最大水量。 请注意,您不能倾斜容器。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/container-with-most-water 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明
2022-04-04 16:08:30
793
原创 leetcode刷题记录-正则表达式匹配
leetcode刷题记录 题目 正则表达式匹配 题目描述 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1,2,3] ,中位数 2 示例 2: 输入:nums1 = [1,2], nums2 = [3,4] 输出:2.50000 解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2
2022-04-04 10:40:03
390
原创 leetcode刷题记录-字符串转换整数 (atoi)
leetcode刷题记录 题目 字符串转换整数 (atoi) 题目描述 /** // 函数 myAtoi(string s) 的算法如下: // // // 读入字符串并丢弃无用的前导空格 // 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。 // 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。 // 将前面步骤读入的这些数字转换为整数(即,“123” -> 123,
2022-04-04 09:47:09
151
原创 leetcode刷题记录- 整数反转
leetcode刷题记录 题目 整数反转 题目描述 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1: 输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321 示例 3: 输入:x = 120 输出:21 示例 4: 输入:x = 0 输出:0 来源:力扣(LeetCode) 链接:htt
2022-04-04 09:21:31
411
原创 leetcode刷题记录-最长回文子串
leetcode刷题记录 题目 最长回文子串 题目描述 给你一个字符串 s,找到 s 中最长的回文子串。 示例 1: 输入:s = “babad” 输出:“bab” 解释:“aba” 同样是符合题意的答案。 示例 2: 输入:s = “cbbd” 输出:“bb” 提示: 1 <= s.length <= 1000 s 仅由数字和英文字母组成 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-palindromic-subst
2022-04-04 09:13:31
168
原创 leetcode刷题记录-寻找两个正序数组的中位数
leetcode刷题记录 题目 寻找两个正序数组的中位数 题目描述 思路 算法模型: 在两个都有序的数组中找上中位数 题意 O(logN) 题解 分情况 偶数个数的时候, 二分 2==2’ 这里的2是表示 位置 2>2’ 看谁不会再有机会成为第四小 2<2’ [1 2] 和 [3’ 4’]把它理解为是两个等长的有序数组,求它俩整体四个数的第二小, 就是最大的整体的第四小。 递归下去 这4个数不管是谁成为了后续过程中的上中位数,它都是整体的上中位数 奇数个数的时候 3
2022-04-04 08:13:16
135
原创 leetcode刷题记录-无重复字符的最长子串
leetcode刷题记录 题目 无重复字符的最长子串 题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s = “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: s = “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。
2022-04-04 06:16:22
147
原创 leetcode刷题记录-两数相加
leetcode刷题记录 题目 两数相加 题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 示例 2: 输入:l1 = [0], l2 = [0] 输出:[0] 示例 3: 输入:
2022-04-04 06:01:27
274
原创 leetcode刷题记录-两数之和
leetcode刷题记录 题目 两数之和 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 思路 使用 hashmap,遍历数组,用arr[i]做key, i 做valu
2022-04-04 05:35:51
153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅