
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
这篇文章介绍了Java集合框架中的List接口,特别是它的常用实现类ArrayList。内容涵盖了List的基本概念、ArrayList的特点、底层实现原理以及一些常见的使用方法和注意事项,帮助读者快速入门。

复习解题思路解决子数组问题时滑动窗口算法不好用的话,不要忘记动态规划算法里的也有【子数组】专题``复习解题思路复习解题思路对于这种子串拆分类问题,遇到“一个字符串—>要求分析它可拆分为的众多子串是否可以在另一字符串中存在/匹配”这样的问题时记住使用dp算法。

复习解题思路复习解题思路在使用这两个方法去寻找状态表示的时候,其中一个方法无法由此推导出正确的状态转移方程时,不用怀疑,就是这个状态表示压根就不对,换另一个方法。

上一篇内容的单源最短路径问题的解法:把起点加入到队列 —>一层一层地往外扩展多源最短路径问题,顾名思义,就是在单源最短路径问题的一个起点的基础上变为了有多个起点,寻找其中到终点路程最短的那个路径。如何解决?把多源最短路问题转化成若干个单源最短路问题,找出针对于每个起点的最短路径,最后对比一下找出这些路径中最短的那个。时间复杂度太高,大概率会超时多源BFS算法把所有的起点合并为一个起点,这样就变为了

为什么需要LinkedList?当你的业务需要频繁在列表中间增删元素时,ArrayList效率就低了。本文将介绍LinkedList作为双向链表的优势、常用方法及遍历技巧,并与ArrayList对比,助你做出正确选择。

这篇文章介绍了Java中几个提升开发效率的核心特性:反射机制让你能在运行时动态操作类;枚举类型帮你便捷地定义一组固定常量;而Lambda表达式则能以简洁的方式实现函数式编程,尤其在处理集合时非常方便。这些都是Java编程中很实用的高级知识。

中间/头部的插⼊删除,时间复杂度为O(N)增容需要申请新空间,拷⻉数据,释放旧空间。会有不⼩的消耗。增容⼀般是呈2倍的增⻓,势必会有⼀定的空间浪费。例如当前容量为100,满了以后增容到200,我们再继续插⼊了5个数据,后⾯没有数据插⼊了,那么就浪费了95个数据空间。思考:如何解决以上问题呢?答案就是使用另一种数据结构——链表单链表实现分三个文件设计,实现功能模块化与代码解耦。SList.h 负责声

这篇文章带你先了解树形结构的特点,然后重点介绍最常用的二叉树,特别是完全二叉树。内容会讲到它们的核心概念、重要性质和一些基本操作,帮你打好这块的基础。

复习解题思路复习解题思路这两个“反着来”的解题思路非常具有代表性,在上一专题中【不同路径】这个题目中“机器人从起点到终点”问题所使用的核心思想是非常相似的,该题也可以像本题一样使用两种反着来的方法,所以其实该题也完全可以使用dp算法来解决,并且【不同路径】这道题我虽然没有用dp写,但它却是下一专题“路径问题”很重要的一个模板。

中间/头部的插⼊删除,时间复杂度为O(N)增容需要申请新空间,拷⻉数据,释放旧空间。会有不⼩的消耗。增容⼀般是呈2倍的增⻓,势必会有⼀定的空间浪费。例如当前容量为100,满了以后增容到200,我们再继续插⼊了5个数据,后⾯没有数据插⼊了,那么就浪费了95个数据空间。思考:如何解决以上问题呢?答案就是使用另一种数据结构——链表单链表实现分三个文件设计,实现功能模块化与代码解耦。SList.h 负责声








