Map
失业边缘,疯狂挣扎
这个作者很懒,什么都没留下…
展开
-
面试题50. 第一个只出现一次的字符(Java)(HashMap)
1 题目 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 示例: s = “abaccdeff” 返回 “b” s = “” 返回 " " 限制: 0 <= s 的长度 <= 50000 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu...原创 2020-03-10 19:34:44 · 204 阅读 · 0 评论 -
260. 只出现一次的数字 III(面试题56 - I. 数组中数字出现的次数)(Java)(HashMap)
1 题目 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1: 输入:nums = [4,1,4,6] 输出:[1,6] 或 [6,1] 示例 2: 输入:nums = [1,2,10,4,1,4,3,3] 输出:[2,10] 或 [10,2] 限制: 2 <= nums <= ...原创 2020-03-14 19:59:47 · 111 阅读 · 0 评论 -
137. 只出现一次的数字 II(Java)(面试题56 - II. 数组中数字出现的次数 II)(HashSet求非重复元素和)(HashMap value记录元素是否重复)
1 题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,3,2] 输出: 3 示例 2: 输入: [0,1,0,1,0,1,99] 输出: 99 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/pr...原创 2020-03-14 19:22:38 · 146 阅读 · 0 评论 -
面试题07. 重建二叉树(105. 从前序与中序遍历序列构造二叉树)(Java)(分治递归,先分后治)(HashMap加速数组索引获取)
1 题目 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 限制: 0 <= 节点个数 <= 5000 来源:力扣(LeetCode) 链接:https://leetcode...原创 2020-02-21 18:00:55 · 128 阅读 · 0 评论 -
560. 和为K的子数组(Java)(窗口数组)(HashMap妙用)
1 题目 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1 : 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 说明 : 数组的长度为 [1, 20,000]。 数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。 来源:力扣(LeetCode)...原创 2020-05-08 00:06:20 · 142 阅读 · 0 评论 -
49. 字母异位词分组(Java)(HashMap的高级运用)
1 题目 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 输出: [ [“ate”,“eat”,“tea”], [“nat”,“tan”], [“bat”] ] 说明: 所有输入均为小写字母。 不考虑答案输出的顺序。 2 Java 2.1 方法一(超时) c...原创 2020-05-07 00:29:06 · 157 阅读 · 0 评论 -
20. 有效的括号(Java)(map匹配)
1 题目 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “()[]{}” 输出: true 示例 3: 输入: “(]” 输出: false 示例 4: 输入:...原创 2020-05-05 23:32:21 · 316 阅读 · 0 评论 -
面试题57. 和为s的两个数字(167. 两数之和 II - 输入有序数组)(Java)(相遇指针滑动窗口)(HashSet数组查找)
1 题目 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[2,7] 或者 [7,2] 示例 2: 输入:nums = [10,26,30,31,47,60], target = 40 输出:[10,30] 或者 [30,10] 限制:...原创 2020-03-24 18:03:36 · 77 阅读 · 0 评论 -
1. 两数之和(Java)(HashMap数组查找)
1 题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 2 Java...原创 2020-04-03 14:01:45 · 298 阅读 · 0 评论 -
面试题39. 数组中出现次数超过一半的数字(169. 多数元素)(Java)(HashMap)
1 题目 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majo...原创 2020-02-09 18:21:08 · 664 阅读 · 0 评论 -
面试题48. 最长不含重复字符的子字符串(Java)(List)(HashSet)(HashMap)
1 题目 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最...原创 2020-03-09 20:28:05 · 288 阅读 · 0 评论