前言:
本文详细讲解Python中的有序集合SortedList和C++中的有序集合multiset的用法,配合leetcode的例题来展示实际的用处。(本人水平不够,还无法讲解有序集合的实现方法,只会用)
觉得有帮助或者写的不错可以点个赞,后面也有几道我找出来的题目可以用这个方法快速解决的
(感觉有点水)
目录
有序集合用法讲解:
(有序集合提供了有序性,但不够高效,可以简化代码,但慎用,比如例题二C++用就会超时)
C++:
std::multiset
是来自 #include <set>
头文件
可以高效的插入,删除,查找元素,插入进入的元素可以自动排序(升序排列),允许重复的元素
#include <iostream>
#include <set>
int main() {
std::multiset<int> A;
A.insert(4);
A.insert(1);
A.insert(3);
A.insert(2);
for (auto& a : A) {
std::cout << a << " "; //输出1 2 3 4
}
}
Python:
SortedList 类是由 sortedcontainers 库提供的
注意这里的sortedcontainers 库是第三方库,使用的时候需要下载,在codeforces,atcoder等平台无法使用,但在leetcode里面可以使用
下载方法,在命令行输入: pip install sortedcontainers
如图:
from sortedcontainers import SortedList
def main():
A = SortedList(