
leetcode
MrCabal
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode 199. 二叉树的右视图
二叉树的层序遍历,当前节点为当前层最后一个时入队 class Solution { public List<Integer> rightSideView(TreeNode root) { List<Integer> res = new ArrayList<>(); if (root == null) { return res; } Queue<TreeNode> .原创 2021-06-10 22:40:06 · 188 阅读 · 0 评论 -
leetcode hot100 #49. 字母异位词分组
题目描述 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [ ["ate","eat","tea"], ["nat","tan"], ["bat"] ] 说明: 所有输入均为小写字母。不考虑答案输出的顺序。 题解: 先把String转化为字符数组,使用Array.sort()将字符数组排序,排序后所有的字母异位词都将相同,把排序后的数组转化为S原创 2021-04-07 21:16:42 · 311 阅读 · 0 评论 -
leetcode hot100#39. 组合总和(简单DFS) c++
题目 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 输入:candidates = [2,3,6,7], target = 7, 所求解集为: [ [7] , [2,2,3] ] 输入:candidates = [2,3,5], target = 8, 所求解集为: [ [2原创 2020-08-18 21:56:12 · 249 阅读 · 0 评论 -
leetcode hot100#34. 在排序数组中查找元素的第一个和最后一个位置(二分模板+总结) java,另附c++偷懒写法
题目 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 输入: nums = [5,7,7,8,8,10], target = 8 输出: [3,4] 示例 2: 输入: nums = [5,7,7,8,8,10], target = 6 输出: [-1,-1] 题解 O(log n) 级别算法在第一时间就应该想到使用二分来解题 以下是二分模原创 2020-08-17 21:44:05 · 165 阅读 · 0 评论 -
leetcode hot100#33. 搜索旋转排序数组(有条件的二分搜索)
题目 假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 问题: 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O(log n) 级别。 示例 1: 输入: nums = [4,5,6,7,0,1,2], target = 0 输出: 4 示例 2: 输入: nums = [4,5,6,7,0,1,2], targ原创 2020-07-01 15:54:59 · 146 阅读 · 0 评论 -
leetcode hot100#11. 盛最多水的容器(模拟双指针)
题目 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示...原创 2020-04-23 23:11:25 · 231 阅读 · 0 评论 -
leetcode hot100 #15. 三数之和(三指针模拟)
题目 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例: 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1] , [-1, -1, 2] ] 题解: 对于给到的nums...原创 2020-04-21 18:33:35 · 225 阅读 · 0 评论 -
leetcode hot100 #5.最长回文子串
题目 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2: 输入: “cbbd” 输出: “bb” 题解 对于回文串有两种情况: 1)长度为奇数,中心对称,不需要考虑中心点的字符 2)长度为偶数,完全对称 所以当我们遍历字符串时就可以分情况考虑这两种情况,...原创 2020-04-18 16:59:52 · 143 阅读 · 0 评论 -
leetcode hot100 #3. 无重复字符的最长子串(滑动窗口)
题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke...原创 2020-04-16 18:26:33 · 224 阅读 · 0 评论 -
leetcode hot100 #2. 两数之和(链表相加)
题目 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -&g...原创 2020-04-15 14:12:32 · 139 阅读 · 0 评论 -
leetcode hot100 #1. 两数之和
题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解题1 纯暴力,两...原创 2020-04-14 13:52:02 · 149 阅读 · 0 评论