C/C++
文章平均质量分 55
C/C++
华-山
这个作者很懒,什么都没留下…
展开
-
关于set中使用lower_bound 和 upper_bound 的时间复杂度
在刷力扣上220. 存在重复元素 III的题目遇到了一个问题,原题目如下:最开始的思路是维护一个最大长度为 k 的滑动窗口,窗口元素放在有序集合中,然后二分查找有序集合中是否有满足条件的元素。代码如下(超时了):class Solution {public: bool check(multiset<int> &st, long target, long t) { auto p = lower_bound(st.begin(), st.e..原创 2021-04-17 10:52:44 · 4700 阅读 · 0 评论 -
C++ 线程同步操作的几种方法 【LeetCode 1115. 交替打印FooBar】
题目如下:原程序如下,我们需要基于原程序进行修改:class FooBar {private: int n;public: FooBar(int n) { this->n = n; } void foo(function<void()> printFoo) { for (int i = 0; i < n; i++) { // printF原创 2021-04-13 22:18:52 · 280 阅读 · 0 评论 -
leetcode[76. 最小覆盖子串] 引发的关于变量出栈入栈的思考
原题给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。刚看到这题第一反应是使用滑动窗口+hashmap内部判断滑动窗口是否满足条件。于是码完代码测试后提交,发现超时。代码如下:class Solution {public: bool check(unordered_map<char, int> org, un原创 2021-02-03 23:36:59 · 144 阅读 · 0 评论 -
一个可执行程序(目标文件)的结构(common段,bss段,data段,text段,堆,栈)
common段:common段存放弱引用的符号,即未初始化的全局变量,在链接时再放入bss段(有些编译器也会直接放到bss段,故有些文章也直接说未初始化的全局变量在bss段中,这并不冲突)bss段:bss即Block Started by Symbol的简称,存放程序中未初始化全局变量和初始化为0的全局变量的一块内存区域。BSS段属于静态内存分配。(注:gcc编译选项-fno-common会强制把为未初始化的全局变量放入bss段,变为强符号。由于强符号只能存在一处定义,如果有多处强符号定义,则在链接原创 2020-12-25 01:48:28 · 2183 阅读 · 1 评论