- 博客(18)
- 收藏
- 关注
原创 时间复杂度技巧
O(n*sqrt(n) )的算法数据范围n < 1e5。O(n *logn)的算法数据范围n <= 1e6。O(n^2)的算法数据范围n<5000。O(n^3)的算法数据范围n <300。O(2^n)的算法数据范围n < 25。O(n)的算法数据范围n < 1e8。)的算法数据范围n < 11。根据数据范围推测时间复杂度。不同时间复杂度的数据范围。
2023-08-08 19:32:22 105
原创 c++stl简介
unordered_set, unordered_map, unordered_multiset, unordered_multimap, 哈希表。不支持 lower_bound()/upper_bound(), 迭代器的++,--lower_bound(x) 返回大于等于x的最小的数的迭代器。时间复杂度是 O(logn)(1) 输入是一个数x,删除所有x O(k + logn)upper_bound(x) 返回大于x的最小的数的迭代器。substr(起始下标,(子串长度)) 返回子串。
2023-08-08 09:42:00 102
原创 c++中bool类型数组和int型数组的区别
在选择使用 `bool` 类型数组还是 `int` 类型数组时,要根据具体的需求来决定。因为 `bool` 类型数组使用的是 1 bit 存储每个元素,而 `int` 类型数组占用的是 4 或 8 bytes。需要注意的是,在大多数情况下,`bool` 类型数组的长度是有限制的(通常是 8 bits),而 `int` 类型数组的长度可以是任意的。3. 取值范围:`bool` 类型的取值只能是 true 或 false,而 `int` 类型可以表示更大范围的整数,取决于该平台上 `int` 类型的字节大小。
2023-07-31 10:03:39 1980 1
原创 离散化算法
在这个例子中,我们将原始数组 `{10, 5, 3, 7, 10, 7}` 进行离散化,最终得到的映射数组为 `{1, 0, 4, 2, 1, 2}`。离散化后,原始数组中的 10 映射为 1,5 映射为 0,3 映射为 4,7 映射为 2。在离散化算法的实现中,我们首先复制并排序原始数组,然后去除排序后数组中的重复元素。然后,我们遍历原始数组,利用 `lower_bound()` 函数查找每个元素在排序后数组中的位置,并将找到的位置作为映射数组中的元素。AcWing练习-区间和。
2023-07-22 19:12:07 145 1
原创 c++中string的substr函数
需要注意的是,C++ 中的 `substr` 函数返回的是一个新的 `std::string` 对象,而不是原始字符串的引用或指针。如果不指定 `len`,则默认提取从 `pos` 到字符串末尾的所有字符。1. `substr(pos, len)`: 提取从位置 `pos` 开始的长度为 `len` 的子串。在上面的示例中,我们使用了字符串的 `substr` 函数来提取指定位置的子串,并将结果打印输出。2. `substr(pos)`: 提取从位置 `pos` 开始到末尾的子串。
2023-07-21 10:50:10 9431 1
原创 c++stl中的map
C++编程中,map是一个容器类模板,用于存储键值对(key-value)形式的数据。其本质是一种关联式容器(associative container),通过键(key)来进行查找和访问值(value)。map中的键值对是按照键进行自动排序的,可以根据键名查找值,并且支持遍历所有的键值对。在C++中使用map时,需要引入头文件,其中键和值的类型可以任意指定。这段程序中,我们定义了一个map类型的对象m,并将三个键值对分别插入到这个map中。然后我们遍历这个map,并输出其中的键值对。
2023-07-20 19:10:02 82
原创 求天数类题很好用的一个公式
接着考虑闰年对年份的影响:每四年一个闰年,每一百年少一个闰年,每四百年多扣除了一天,于是修正的天数为 y÷4−y÷100+y÷400。利用上面的公式,我们就可以计算出某一个日期距离公元第一天的天数之差,如果要计算两个日期之差分别计算相减即可。式子求的是y年m月d日距离公元第一天(即1年1月1日)的天数。首先,每一年的“基础天数”为 y∗365 天。
2023-07-18 16:12:18 249 1
原创 c++栈经典题目-【表达式求值】
Python中的整除//默认向下取整,因此Python的eval()函数中的整除也是向下取整,在本题中不能直接使用。题目中的整除是指向 0 取整,也就是说对于大于 0 的结果向下取整,例如 5/3=15/3=1,对于小于 0 的结果向上取整,例如 5/(1−4)=−1。题目保证符号 - 只作为减号出现,不会作为负号出现,例如,-1+2,(2+2)*(-(1+1)+2) 之类表达式均不会出现。给定一个表达式,其中运算符仅包含 +,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值。
2023-07-18 15:57:57 150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人