
leetcode-Map/Set
文章平均质量分 60
Map/Set的题
爱得恋
这个作者很懒,什么都没留下…
展开
-
Leetcode——146. LRU 缓存机制
题目描述: 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。 实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存 int get(int key):如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void put(int key, int value):如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它应该在写入新数原创 2021-02-26 15:44:29 · 284 阅读 · 0 评论 -
坏键盘
题目描述: 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出 肯定坏掉的那些键。 输入描述: 输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、 以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。 输出描述: 按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有1个坏键。 示例1 输入 7_This_原创 2021-02-17 17:16:36 · 301 阅读 · 0 评论 -
Leetcode-138:复制带随机指针的链表(两种方法)
题目描述: 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的 深拷贝。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。 random_index:随机指针指向的节点索引(范围从 0 到 n-1);如果不指向任何节点,则为 null 。 思路: 本题要求深拷贝给定的链表,并且给定链表的每个节点都带有随机指针域。节点的拷贝很原创 2020-10-11 17:55:30 · 249 阅读 · 0 评论 -
LeetCode-136只出现一次的数字
题目描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 分析: 也就是说,一个非空数组中的元素只有一个元素只出现一次,其他都是成对出现的,现在就是要找出这个单飞的元素。 解法: 方法一:使用Set 思路:利用Set接口的特点:相同的值只能插入一次。 将数组里的每一个元素从前往后依次添加到set中,如果返回...原创 2020-04-16 22:37:15 · 194 阅读 · 0 评论 -
LeetCode771-宝石与石头(Java)
题目描述: 给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。 分析: 也就是说我们需要从S串中统计包含J串中元素的个数。所以: 1.先将J(宝石)放进HashMap中,并且一开始...原创 2020-04-18 21:04:18 · 390 阅读 · 0 评论 -
LeetCode-692:前K个高频单词
题目描述: 给一非空的单词列表,返回前k个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。 分析: 首先需要输出出现次数最多的前K个单词====》这就需要对出现的所有单词进行次数统计,所以Map是此处最佳的选择,又因为不需要对单词排序,所以选择HashMap,查询效率跟高(O(1)) 又因为需要在次数相同的情况下按照字母次序进...原创 2020-04-19 22:36:21 · 239 阅读 · 0 评论