leetcode:集合总结

本文探讨了集合和映射(如Set和Map)在算法和编程中的关键应用场景,包括快速查找、避免重复、存储频率、排序与双指针法。强调了它们在处理无限循环和字符计数问题时的效率,并提示了在处理求和类问题时的策略,如利用Map记录数的出现位置或次数,结合排序和双指针确保唯一性。
摘要由CSDN通过智能技术生成

使用集合的场景:

1、当输出长度不定

2、于需要寻找是否存在某个数,如果使用数组遍历太浪费时间,可以使用集合存储,使用集合的contain函数即可,map存的是键值对,可以存(数,数的下标),也可以存(数,数的次数)。注意map是不允许key重复的,是会替代的,

3、不重复——set

4、字符数组用map,记录频率;用数组,记录频率;排序后判断字符串相等

5、使用map.getOrDefault

6、排序

注意点:

1、不返回序号,想到排序

2、对无限循环状况无法结束,用快慢指针

3、当处理字符,可以使用数组当哈希表。

对于求和类问题 

1)用Map函数寻找某位数(key),对应的value为下标、次数

2)排序+双指针,保证不重复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值