【OJ】C++,Java,Python,Go,Rust
2024-01-08 03:49:53
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
:
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://blog.csdn.net/myRealization/article/details/135442719
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!