排序后扫一遍,维护当前分组方案,尽量加入人数少的组。如果某些组再也不可能加入了就统计最小值,如果每组都加入过了相同的实力值就新开一组。 因为组的信息具有单调性,所以可以用双端队列 \(O(n)\) 维护。 code: #include<bits/stdc++.h> using namespace s ...
分类:
其他好文 时间:
2021-06-20 18:04:28
阅读次数:
0
题目: 请判断一个链表是否为回文链表。 思路: 使用链表放入元素 从两边同时移出比较 (一)代码 你是星河 ...
分类:
其他好文 时间:
2021-06-02 13:18:36
阅读次数:
0
LinkedList的全面说明: 1)LinkedList底层实现了双向链表和双端队列的特点 2)可以添加任意元素(可重复),包括null 3)线程不安全,没有实现同步 linkedList底层结构 LinkedList添加的源码分析 linkedlist.add(1); linkedlist.ad ...
分类:
其他好文 时间:
2021-05-24 15:34:54
阅读次数:
0
最近在LeekCode用java写一些算法时,经常遇到要使用栈和队列结构,使用栈的话,Stack已经不被推荐使用了,所以栈和队列我们通常都是用LinkedList这种双链表结构实现。Linkedlist是一个双向链表,操作起来非常方便,java也封装了很多的方法在这个双向链表里面。 题目:使用栈,L ...
分类:
其他好文 时间:
2021-05-24 10:25:56
阅读次数:
0
原题链接 考察:双端队列bfs 思路: 双端队列常用于距离只有0,1的情况.当距离为0时,更新的点放在队头.当距离为1时,更新的点放在队尾. 判断01距离不用写冗长的if代码.可以参照方向数组预设距离为0的斜杠应该有的方向. 这里当出队的距离才是确定了此点的最短距离. 1 #include <ios ...
这道题强制在线,那么考虑在线算法 好像复杂度低的可以使用平衡树,但是我们这里使用分块算法 因为数据量不是特别大 因为是在前面加一个后面删一个,所以我们考虑使用双端队列来维护这个信息 这样修改的时候,可以把前面的块的末尾加到后面的块,这样每块的大小都不会发生改变 #include<bits/stdc+ ...
分类:
其他好文 时间:
2021-03-30 13:28:17
阅读次数:
0
仅供自己学习 思路: 前面做过102,题目几乎相同,只是输出的方式不同,下意识BFS就选择了队列,但是发现不能解决,因为是单向取单向入得结构,不能从满足一左一右的输出形式。上课的时候了解到一个双端队列,刚好可以满足,只需要一个标记此时是左输出还是右输出即可。当时只想用一个双端队列即可,但是发现写着还 ...
分类:
其他好文 时间:
2021-02-18 13:57:19
阅读次数:
0
剑指 Offer 59 - I. 滑动窗口的最大值 Offer_59_1 题目详情 方法一:暴力方法+双指针 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/12 18:06 */ import java ...
分类:
其他好文 时间:
2021-02-16 12:10:19
阅读次数:
0
Deque 是一种支持在两端进行操作的线性结构,包含了栈和队列的功能。Java 中建议使用 Dqueue 的实现来替代遗留的 Stack 类。本文将介绍 Deque 提供的主要 API。 ...
分类:
编程语言 时间:
2020-12-19 12:11:02
阅读次数:
6
ArrayList 其实刚开始没有准备很认真读,但。。读都读了 ,还是好好把注解也读了吧。结果发现了一个不错的点。虽然ArrayList是非线程安全的,但当有两个及以上的线程同时对ArrayList进行结构上的操作(增删元素、修改某个元素的值不算)时,它对外表现得是被加了锁。(老意译了)读注释太累了 ...
分类:
其他好文 时间:
2020-11-11 16:12:45
阅读次数:
9