![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构专栏---Map和Set
文章平均质量分 60
努力彪
但行好事,莫问前程
展开
-
排序数组中只出现一次的数字(中等难度,三种方法)
目录题目概述(中等难度)思路与代码思路展现思路1 位运算(异或)代码示例思路2 set集合代码示例思路3 二分法代码示例总结 题目概述(中等难度) 题目链接: 点我进入leetcode 思路与代码 思路展现 思路1 位运算(异或) 这个题目思路跟下面这个题目思路一摸一样,在这里不做过多赘述,我也就直接将博客链接放到这里: 点我进入博客 代码示例 class Solution { public int singleNonDuplicate(int[] nums) { int resul原创 2022-02-27 16:52:19 · 681 阅读 · 0 评论 -
数组中数字出现的次数 II(简单难度)
目录题目概述(简单难度)思路与代码思路1(遍历数组法)代码示例思想2(哈希)总结 题目概述(简单难度) 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。 示例 1: 输入:nums = [3,4,3,3] 输出:4 示例 2: 输入:nums = [9,1,7,9,7,9,7] 输出:1 题目链接: 点我进入leetcode 思路与代码 思路1(遍历数组法) 我的思路是先对数组进行排序后在遍历,使用一个计数器来寻找我们只出现过一次的数字. 代码示例 c原创 2021-10-09 10:48:52 · 222 阅读 · 22 评论 -
第一个只出现一次的字符(简单难度)
目录题目概述(简单难度)思路与代码思路展现代码示例总结 题目概述(简单难度) 题目链接: 第一个只出现一次的字符 思路与代码 思路展现 这道题目的思路也非常的经典,就是使用我们的map集合,然后map集合value值存储的是我们的boolean值,因为假设字符串s中的字符出现了两次以及超过两次,那么这个字符最终的boolean值就一定是false,不是true,而只有出现一次的字符的boolean值始终为true. 代码示例 class Solution { public char firstUn原创 2022-01-02 23:15:29 · 121 阅读 · 0 评论 -
无重复字符的最长子串(中等难度)
目录题目概述(中等难度)思路与代码思路展现代码示例 题目概述(中等难度) 题目链接: 无重复字符的最长子串 思路与代码 思路展现 代码示例 class Solution { public int lengthOfLongestSubstring(String s) { HashMap<Character, Integer> map = new HashMap<>(); int maxLen = 0;//用于记录最大不重复子串的长度原创 2022-01-02 11:21:24 · 335 阅读 · 1 评论 -
旧键盘(简单难度)
目录题目概述(简单难度)思路与代码思路展现代码示例 题目概述(简单难度) 题目链接: 旧键盘 思路与代码 思路展现 代码示例 import java.util.*; public class Main { public static void func(String strExc,String strAct){ //set1用于存放实际输入的值,也就是我们的strAct HashSet<Character> set1 = new HashSet<原创 2022-01-01 22:06:13 · 149 阅读 · 0 评论 -
宝石与石头(简单难度)
目录题目概述(简单难度)思路与代码思路展现代码示例总结 题目概述(简单难度) 题目链接: 宝石与石头 思路与代码 思路展现 将jewels字符串转换为字符后存入到set集合当中,然后将stones转换为字符数组后,遍历这个字符数组,判断当前set集合中的元素是否有存在于stones转换后的字符数组当中的,如果有,就让计数器count加一个. 代码示例 class Solution { public int numJewelsInStones(String jewels, String stones原创 2022-01-01 15:02:00 · 256 阅读 · 0 评论 -
复制带随机指针的链表(中等难度)
目录题目概述(简单难度)思路与代码思路展现代码示例总结 题目概述(简单难度) 题目链接: 复制带随机指针的链表 思路与代码 思路展现 这个题目的意思就是我们的链表的每个节点不仅仅有一个next域,next域存储的下一个节点的地址,还有我们的random域,这个random域是随机的,意思就是这个域内存储的下一个节点的地址我们也不知道是哪个节点,random域可以为空,也可以不为空(存储非自身节点的某个节点的地址),也可以存储自己节点本身的地址,所以说当我们复制这个链表的时候,就需要将next域和我们原创 2022-01-01 14:45:41 · 634 阅读 · 0 评论 -
只出现一次的数字(简单难度)
目录题目概述(简单难度)思路与代码思路展现代码示例总结 题目概述(简单难度) 题目链接: 只出现一次的数字 思路与代码 思路展现 使用Set来存储我们的数组中的数字,如果我们的数组中的数字在set中存在,就将Set集合中的数字删除掉,从而最终Set集合中剩下的数字就一定是只出现一次的数字. 代码示例 class Solution { public int singleNumber(int[] nums) { HashSet<Integer> set = new Hash原创 2021-12-31 12:33:12 · 260 阅读 · 0 评论