for循环语法
// cpp
// java
// python
for i in range(集合):
for i, val in enumerate(集合):
for v1,v2,v3,... in zip(集合1,集合2,集合3,...):
Pair
// cpp
pair<int, string> first second
// java
Pair<Integer, String> first()
new Pair<>(firstVal, secondVal)
### 有序集合
```cpp
// cpp
set
方法:
- insert
- erase
// java
new TreeSet<,>()
创建一个TreeSet,定义其比较规则:
new TreeSet<>((a, b) ->
!Objects.equals(a.getKey(), b.getKey()) ?
b.getKey() - a.getKey() : // 逆序
a.getValue().compareTo(b.getValue())
)
// python
from sortedcontainers import SortedSet
方法:
- remove
- add
优先队列
Map<String, Queue<Pair<Integer, String>>> cs = new HashMap<>();
cs.computeIfAbsent(c, k -> new PriorityQueue<>((a, b) ->
!Objects.equals(a.getKey(), b.getKey()) ?
b.getKey() - a.getKey() : // 逆序
a.getValue().compareTo(b.getValue())
)).add(new Pair<>(r, f));
综合
在一个 Map
中放置一个 TreeSet
:文章来源地址https://www.toymoban.com/news/detail-782885.html
Map<String, TreeSet<Pair<Integer, String>>> cs = new HashMap<>();
cs.computeIfAbsent(c, k -> new TreeSet<>((a, b) ->
!Objects.equals(a.getKey(), b.getKey()) ?
b.getKey() - a.getKey() : // 逆序
a.getValue().compareTo(b.getValue())
)).add(new Pair<>(r, f));
文章来源:https://www.toymoban.com/news/detail-782885.html
到了这里,关于【OJ】C++,Java,Python,Go,Rust的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!