栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

LeetCode常用数据结构总结|入门刷题必备数据结构总结|HashSet用法|HashMap用法|优先队列PriorityQueue

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LeetCode常用数据结构总结|入门刷题必备数据结构总结|HashSet用法|HashMap用法|优先队列PriorityQueue

LeetCode刷题已经有一段时间了,作为一名非科班选手,从一开始对数据结构的一窍不通,到现在逐渐能熟练使用一些数据结构解题。
现在将平时积累的一些刷题常用数据结构分享给大家。可供入门/新手/非科班选手参考。

集合 HashSet
  • set常常在去重相关的题目中用到
HashSet set = new HashSet<>();//新建一个set集合,常常在去重的题目中
set.add() //往set中添加元素
set.remove() //set中去除元素
set.contains() //常用于判断set中是否包含某个元素
set.size() //set的长度,大小
for(int i:set1){ //遍历set的一种方式
}
HashMap
  • HashMap常常在需要键值对映射的题目中用到
Map map = new HashMap<>();
map.put(key,value);//map中放入 key-value键值对
map.get(key); //获取某个key对应的value
map.containsKey(key) //经常用于判断,是否包含某个key值
栈 流行的栈写法
Deque stack = new LinkedList<>(); 
//官方已经不建议用stack()来实现栈,当前用LinkedList<>(); 实现
stack.push(xx);//进栈
a = stack.pop();//出栈,并发栈该值赋给另外一个变量。
补充一个写法
  • 这个写法也是由LinkedList<>()实现。
LinkedList path = new LinkedList<>();
path.removeLast();//似乎只有上面这种初始化方式才可以用removeLast()方法
优先队列
  • 这里还附加了一个比较器,(利用lambda表达式重写compare方法) o1-o2代表升序,o2-o1代表降序
PriorityQueue pq = new PriorityQueue<>(new Comparator(){
    @Override
    public int compare(ListNode o1,ListNode o2){
        return o1.val - o2.val;
    }
});//注意这个序号关系,compare方法定义在Comparator里面
pq.add(list);//增
ListNode nodeNext = pq.poll();//删
字符串
  • 内容比较多,有空再整理
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/953284.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号