
leetcode
wtopps
当你的才华满足不了你的野心时,你应该滚去学习
展开
-
数组中的第K个最大元素
给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。示例 1:输入: [3,2,1,5,6,4], k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6], k = 4输出: 4。原创 2024-06-11 17:51:36 · 434 阅读 · 0 评论 -
Leetcode Hot100 跳跃游戏
本题是一道典型的贪心算法,思路是遍历数组中每一个元素,尝试找到第一个可以跳过终点的元素。每一位元素的跳跃距离就是他自身的数值。可以跳到的最远距离,就是。原创 2024-06-04 10:51:07 · 207 阅读 · 0 评论 -
Leetcode Hot100 无重复字符的最长子串
随着 end 不断遍历向后,会遇到与 [start, end] 区间内字符相同的情况,此时将字符作为 key 值,获取其 value 值,并更新 start,此时 [start, end] 区间内不存在重复字符。定义一个 map 数据结构存储 (k, v),其中 key 值为字符,value 值为字符位置 +1,加 1 表示从字符位置后一个才开始不重复。解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。我们定义不重复子串的开始位置为 start,结束位置为 end。原创 2024-05-30 17:42:59 · 272 阅读 · 0 评论 -
Leetcode 从中序与后序遍历序列构造二叉树
1、根据后序结果,可以确到root节点的位置,即后序的最后一个元素。3、确认递归退出条件,当不满足左闭右开,说明没有元素,返回空树。● 中序遍历 inorder = [9,3,15,20,7]2、找到了root节点,去中序就可以确认左子树和右子树。根据一棵树的中序遍历与后序遍历构造二叉树。注意: 你可以假设树中没有重复的元素。原创 2024-05-15 17:17:09 · 250 阅读 · 0 评论 -
Leetcode Hot100 下一个排列
例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。而 arr = [3,2,1] 的下一个排列是 [1,2,3] ,因为 [3,2,1] 不存在一个字典序更大的排列。1、我们需要将一个左边的「较小数」与一个右边的「较大数」交换,以能够让当前排列变大,从而得到下一个排列。类似地,arr = [2,3,1] 的下一个排列是 [3,1,2]。例如,arr = [1,2,3] 的下一个排列是 [1,3,2]。原创 2024-05-30 17:04:02 · 213 阅读 · 0 评论 -
Leetcode Hot100 最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。最容易理解的中心扩散法,我们记忆这一种解法。解释:“aba” 同样是符合题意的答案。输入:s = “babad”输入:s = “cbbd”原创 2024-05-30 16:46:35 · 344 阅读 · 0 评论