Java
weixin_44580808
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java-LinkedList与Pair
Java-LinkedList与Pair LinkedList LinkedList也实现了List接口,相对于ArrayList来说,它们的最大区别在于底层数据结构不同, LinkedList的底层是一个双向链表,这也决定了它的最大优点,那就是对于数据的修改比ArrayList更加方便快捷。 linkedList为双链表,维护的是一个first和last指针,而每个节点有item自身、prev和next两个节点来维护双链表的关系, add(E e):在链表后添加一个元素; 通用方法 addFirst(原创 2020-07-21 23:07:43 · 367 阅读 · 0 评论 -
Java-Queue的使用方法
Java-Queue的使用方法 定义 Queue接口与List、Set同一级别,都是继承了Collection接口。 LinkedList实现了Queue接口。我们平时使用的一些常见队列都是非阻塞队列, 比如PriorityQueue、LinkedList(LinkedList是双向链表, 它实现了Dequeue接口) 队列是一种特殊的线性表,它只允许在表的前端进行删除操作, 而在表的后端进行插入操作。 阻塞队列与非阻塞队列 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或原创 2020-07-21 23:06:05 · 1202 阅读 · 0 评论 -
LeetCode刷题笔记(8)二分查找+分治
LeetCode刷题笔记(8)二分查找+分治 背景 今天结束了二分查找的2个题目,开始了分治的第一道题目,分治的含义就是把复杂问题分解成简单问题,思路比较难,需要多练习。 153、找出旋转数组中最小的元素 解题思路: 关键是找到变化点 找到数组的中间元素 mid。 如果中间元素 > 数组第一个元素,我们需要在 mid 右边搜索变化点。 如果中间元素 < 数组第一个元素,我们需要在 mid 做边搜索变化点。 当我们找到变化点时停止搜索,当以下条件满足任意一个即可: nums[mid] >原创 2020-07-16 23:42:20 · 211 阅读 · 0 评论 -
LeetCode刷题笔记(7)
LeetCode刷题笔记(7) 背景 今天是刷LeetCode的第七天,嗯,没有那么难受以及无法接受了,感觉还可以。今天结束了贪心算法的最后三道题目,明天就是二分法了。 763、划分字母区间 输入:S = “ababcbacadefegdehijhklij” 输出:[9,7,8] 解释: 划分结果为 “ababcbaca”, “defegde”, “hijhklij”。 每个字母最多出现在一个片段中。 像 “ababcbacadefegde”, “hijhklij” 的划分是错误的,因为划分的片段数较少。原创 2020-07-11 23:20:11 · 241 阅读 · 0 评论 -
Java笔记-泛型和Hash
Java笔记-泛型和Hash 泛型 //泛型:针对利用继承来实现通用程序设计所产生的问题,泛型提供了更好的解决方案:类型参数。 // 例如,ArrayList类用一个类型参数来指出元素的类型。 //ArrayList stringValues=new ArrayList(); // public class GenericType { // public static void main(String[] args) { // ArrayList stringVal原创 2020-07-03 23:49:17 · 235 阅读 · 0 评论 -
Java笔记-贪心算法
Java笔记-贪心算法 贪心算法 在允许最多删除一个字符的情况下,同样可以使用双指针,通过贪心算法实现。 初始化两个指针 low 和 high 分别指向字符串的第一个字符和最后一个字符。 每次判断两个指针指向的字符是否相同,如果相同,则更新指针, 令 low = low + 1 和 high = high - 1, 然后判断更新后的指针范围内的子串是否是回文字符串。如果两个指针指向的字符不同, 则两个字符中必须有一个被删除,此时我们就分成两种情况:即删除左指针对应的字符, 留下子串 s[low + 1],原创 2020-07-02 23:40:57 · 219 阅读 · 0 评论 -
LeetCode刷题笔记(2)
LeetCode刷题笔记(2) 背景 今天刷题刷了大概4道半,双指针的题目结束了,刚刚开始了快速选择的题目。 141、给定一个链表,判断链表中是否有环 //ListNode的数据格式 class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; } } public class LinkedListCycl原创 2020-07-02 23:35:37 · 129 阅读 · 0 评论 -
Java随笔-HashSet和输入流
Java随笔-HashSet和输入流 HashSet 今天做题正好用到了HashSet那就顺便总结一下。 定义 HashSet是Java集合Set的一个实现类,Set是一个接口,其实现类除HashSet之外,还有TreeSet,并继承了Collection 举例 private transient HashMap<E,Object> map; //默认构造器 public HashSet() { map = new HashMap<>();原创 2020-07-01 21:04:40 · 185 阅读 · 0 评论
分享