
leetcode数据结构之哈希表
admite
这个作者很懒,什么都没留下…
展开
-
有效的数独
题目描述 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 ‘.’ 表示。 示例 1: 输入: [ [“5”,“3”,".",".",“7”,".",".",".","."], [“6”,".",".",“1”,“9”,“5”,".",".","."], ["原创 2020-07-27 12:14:47 · 130 阅读 · 0 评论 -
移位字符串分组
题目描述 给定一个字符串,对该字符串可以进行 “移位” 的操作,也就是将字符串中每个字母都变为其在字母表中后续的字母,比如:“abc” -> “bcd”。这样,我们可以持续进行 “移位” 操作,从而生成如下移位序列: “abc” -> “bcd” -> … -> “xyz” 给定一个包含仅小写字母字符串的列表,将该列表中所有满足 “移位” 操作规律的组合进行分组并返回。 示例: 输入:[“abc”, “bcd”, “acef”, “xyz”, “az”, “ba”, “a”, “z”原创 2020-07-27 11:53:57 · 391 阅读 · 0 评论 -
字母异位词分组
题目描述 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 输出: [ [“ate”,“eat”,“tea”], [“nat”,“tan”], [“bat”] ] 说明: 所有输入均为小写字母。 不考虑答案输出的顺序。 分析 使用HashMap,其中键是字符串按字符从a~z排序得到的新字符串,值是满足排序后的值为键的字符串组成的集合。 返回HashMap的值即可。 代码原创 2020-07-27 11:45:48 · 205 阅读 · 0 评论 -
存在重复元素 II
题目描述 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。 示例 1: 输入: nums = [1,2,3,1], k = 3 输出: true 示例 2: 输入: nums = [1,0,1,1], k = 1 输出: true 示例 3: 输入: nums = [1,2,3,1,2,3], k = 2 输出: false 分析 定义HashMap,其中键是数组中的数字,值是数字的索引原创 2020-07-27 11:22:25 · 101 阅读 · 0 评论 -
两个数组的交集 II
题目描述 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2,2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[4,9] 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。 我们可以不考虑输出结果的顺序。 分析 定义HashMap,键是字符,值是字符出现的次数 把2个字符串都转换为HashMap,分别为map1、map2 定义List原创 2020-07-27 11:04:47 · 134 阅读 · 0 评论 -
字符串中的第一个唯一字符
题目描述 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 示例: s = “leetcode” 返回 0 s = “loveleetcode” 返回 2 提示:你可以假定该字符串只包含小写字母。 分析 1.定义HashMap,其中键是字符,值是字符出现的次数; 2.定义List,把HashMap中值=1的字符放入List; 3.比较List中字符的索引,取最小值 代码 class Solution { public int firstUniqChar(Stri原创 2020-07-27 10:50:01 · 584 阅读 · 0 评论 -
两个列表的最小索引总和
题目描述 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。 示例 1: 输入: [“Shogun”, “Tapioca Express”, “Burger King”, “KFC”] [“Piatti”, “The Grill at Torrey Pines”, “Hungry Hunter Steakhous原创 2020-07-27 10:29:51 · 180 阅读 · 0 评论 -
同构字符串
题目描述 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。 示例 1: 输入: s = “egg”, t = “add” 输出: true 示例 2: 输入: s = “foo”, t = “bar” 输出: false 示例 3: 输入: s = “paper”, t = “title” 输出: true 说明: 你可以假原创 2020-07-27 10:00:08 · 153 阅读 · 0 评论