
LeetCode每日一题
文章平均质量分 74
上班族的每日提升,闲暇之余会更新,项目忙的时候更新会延期。手动滑稽
地球村公民
这个作者很懒,什么都没留下…
展开
-
Java LeetCode每日一题-从易到难带你领略算法的魅力(二十一):有效的括号
有效的括号1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.总结1.题目要求给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。2.题目示例示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:fal原创 2021-02-20 11:18:46 · 797 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(二十): 删除链表的倒数第 N 个结点
删除链表的倒数第 N 个结点1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?2.题目示例示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:原创 2021-02-19 14:48:17 · 595 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(十九):四数之和
四数之和1.题目要求2.题目示例3.解题3.1 解题思路3.2 业务代码3.3 运行结果4.总结1.题目要求给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。2.题目示例示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的原创 2021-02-03 15:05:38 · 738 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(十八):电话号码的字母组合
电话号码的字母组合1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.总结1.题目要求给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。2.题目示例示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = "原创 2021-02-02 15:15:50 · 523 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(十七):最接近的三数之和
最接近的三数之和1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。2.题目示例示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接原创 2021-01-18 10:24:41 · 345 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(十六):三数之和
三数之和1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。2.题目示例示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,原创 2021-01-13 18:01:01 · 504 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(十五):最长公共前缀
最长公共前缀1.题目要求2.题目示例3.说明4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。2.题目示例示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。3.原创 2021-01-12 10:16:51 · 304 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(十四):罗马数字转整数
罗马数字转整数1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M原创 2021-01-06 10:16:40 · 365 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(十三):整数转罗马数字
整数转罗马数字1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M原创 2020-12-23 10:58:39 · 410 阅读 · 4 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(十二):盛最多水的容器
盛最多水的容器1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.总结1.题目要求给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。2.题目示例示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线原创 2020-12-22 11:08:38 · 420 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(十一):正则表达式匹配
正则表达式匹配1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结...原创 2020-12-21 10:28:39 · 357 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(十):回文数
回文数1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.总结1.题目要求判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。进阶:你能不将整数转为字符串来解决这个问题吗?2.题目示例示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出原创 2020-12-07 11:38:03 · 401 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(九):字符串转换整数 (atoi)
字符串转换整数 atoi1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:1.如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。2.假如第一个非空字符是数字,则直接将其原创 2020-12-05 10:46:21 · 475 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(八):整数反转
整数反转1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。2.题目示例示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 213.提示注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [原创 2020-12-03 10:20:04 · 421 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(七):Z 字形变换
Z 字形变换1.题目要求2.题目示例3.解题3.1 解题思路3.2 业务代码3.3 运行结果4.优化4.1 优化思路4.2 优化业务代码4.3 优化结果5.总结1.题目要求将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOE原创 2020-12-02 11:35:57 · 463 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(六):最长回文子串
最长回文子串1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。回文的意思就是:正着读反着读都一样,是对称的2.题目示例示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"3.提示H原创 2020-12-01 14:33:16 · 545 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(五):寻找两个正序数组的中位数-5700字匠心出品
寻找两个正序数组的中位数1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?2.题目示例示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00原创 2020-11-30 16:57:19 · 429 阅读 · 1 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(四):无重复字符的最长子串
无重复字符的最长子串1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。2.题目示例示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b"原创 2020-11-28 11:16:07 · 374 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(三):两数相加
两数相加1.题目要求2.题目示例3.解题3.1 解题思路3.2 业务代码3.3 运行结果4.优化4.1 优化思路4.2 优化业务代码4.3 优化结果5.总结1.题目要求给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。2.题目示例输入:(2 -> 4 -> 3)原创 2020-11-27 11:44:15 · 579 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(二):两数之和
两数之和1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。2.题目示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nu原创 2020-11-26 10:37:34 · 430 阅读 · 0 评论 -
Java LeetCode每日一题-从易到难带你领略算法的魅力(一):上升下降字符串
上升下降字符串1.题目要求2.题目示例3.提示4.解题4.1 解题思路4.2 业务代码4.3 运行结果5.优化5.1 优化思路5.2 优化业务代码5.3 优化结果6.总结1.题目要求给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择字符。从 s 中选出 最大 的字符,将它 接在 结果字符串的后面原创 2020-11-25 17:09:42 · 526 阅读 · 10 评论