- 博客(220)
- 资源 (11)
- 收藏
- 关注

原创 练习:敲打代码
希尔排序 我的代码: #include <iostream> using namespace std; void shell_sort(int a[], int len) { for(int h = len/2;h > 0;h /= 2) { for(int i = h;i < len;i++) { int tmp...
2018-08-21 12:02:42
243
原创 C++的构造tips
作者:匿名用户 链接:https://www.zhihu.com/question/30196513/answer/563560938 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 C++难就难在:在C++中你找不到任何一件简单的事。上面有人把C++和物理作类比。我很同意。理论物理是一场无尽的旅程,总有最前沿的东西。我对神经科学很感兴趣,也有幸与一个神经科学相关专业的学生交流过,她还给我发过资料,我很感激。然而我在知乎上看到过一个相关的讨论。一个人说“我小时候就想知道大脑
2021-12-16 10:03:48
1480
原创 STL容器的线程安全
众所周知,STL容器不是线程安全的。 对于vector,即使写方(生产者)是单线程写入,但是并发读的时候,由于潜在的内存重新申请和对象复制问题,会导致读方(消费者)的迭代器失效。实际表现也就是招致了core dump。另外一种情况,如果是多个写方,并发的push_back(),也会导致core dump。 解法一: 加锁是一种解决方案,但是加std::mutex互斥锁确实性能较差。对于多读少写的场景可以用读写锁(也叫共享独占锁),来缓解。C++17引入了std::shared_mutex 。更多锁的种类可以
2021-12-14 15:45:17
1776
原创 一些运算符重载研究
一些运算符重载研究 #include <iostream> /* 可重载运算符 双目算术运算符 + (加),-(减),*(乘),/(除),% (取模) 关系运算符 ==(等于),!= (不等于),< (小于),> (大于),<=(小于等于),>=(大于等于) 逻辑运算符 ||(逻辑或),&&(逻辑与),!(逻辑非) 单目运算符 + (正),-(负),*(指针),&(取地址) 自增自减运算符 ++(自增),--(自减) 位运算符
2021-12-13 10:22:47
947
原创 完美转发例子与研究
完美转发例子与研究 #include <iostream> template<typename T> void f(T&) { std::cout << "T&" << std::endl; } template<typename T> void f(T&&) { std::cout << "T&&" << std::endl; } template&
2021-12-13 10:19:51
272
原创 2021-10-23
浅解NUMA机制 导读 本文适合知道NUMA这个词但想进一步了解的新手。 以下的文章内容包括:NUMA的产生背景,NUMA的架构细节和几个上机演示的例子。 NUMA的诞生背景 在NUMA出现之前,CPU朝着高频率的方向发展遇到了天花板,转而向着多核心的方向发展。 在一开始,内存控制器还在北桥中,所有CPU对内存的访问都要通过北桥来完成。此时所有CPU访问内存都是“一致的”,如下图所示: UMA 这样的架构称为UMA(Uniform Memory Access),直译为“统一内存访问”,这样的架构对软件层面
2021-10-23 09:50:20
204
原创 2021-08-22
引用: https://zhuanlan.zhihu.com/p/338057154 要做计算几何题,首先要有一套基础的模板,以方便处理几何对象。在多次实践后,目前的模板采取以下原则编写: 写全局函数,而非类方法,结构体只存数据; 每个函数标注依赖于哪些函数,且尽量减少依赖; 用较简略的名字,同时传值而非传const引用。 几何对象 struct Point { double x, y; }; // 点 using Vec = Point; // 向量 s
2021-08-22 13:17:27
145
原创 Shell脚本应用场景举例
写一个 bash脚本以实现一个需求,去掉输入中的含有B和b的单词 示例: 假设输入如下: big nowcoder Betty basic test 你的脚本获取以上输入应当输出: nowcoder test 说明: 你可以不用在意输出的格式,空格和换行都行 ...
2021-03-20 13:23:01
883
原创 Linux文本处理三剑客:grep,sed,awk
题目描述 写一个bash脚本以实现一个需求,求输入的一个的数组的平均值 第1行为输入的数组长度N 第2~N行为数组的元素,如以下为: 数组长度为4,数组元素为1 2 9 8 示例: 4 1 2 9 8 那么平均值为:5.000(保留小数点后面3位) 你的脚本获取以上输入应当输出: 5.000 ...
2021-03-20 13:22:07
178
原创 分类:线性连续存储(字符串,数组,队列,栈等)
题目描述 写一个 bash脚本以实现一个需求,去掉输入中含有this的语句,把不含this的语句输出 示例: 假设输入如下: that is your bag is this your bag? to the degree or extent indicated. there was a court case resulting from this incident welcome to nowcoder 你的脚本获取以上输入应当输出: to the degree or extent indicated.
2021-03-20 13:21:03
141
原创 分类:其他
题目描述 写一个 bash脚本以统计一个文本文件 nowcoder.txt中每一行出现的1,2,3,4,5数字个数并且要计算一下整个文档中一共出现了几个1,2,3,4,5数字数字总数。 示例: 假设 nowcoder.txt 内容如下: a12b8 10ccc 2521abc 9asf 你的脚本应当输出: line1 number: 2 line2 number: 1 line3 number: 4 line4 number: 0 sum is 7 说明: 不要担心你输出的空格以及换行的问题 ...
2021-03-20 13:20:13
158
原创 C/C++:C++11新特性
题目描述 写一个 bash脚本来转置文本文件nowcoder.txt中的文件内容。 为了简单起见,你可以假设: 你可以假设每行列数相同,并且每个字段由空格分隔 示例: 假设 nowcoder.txt 内容如下: job salary c++ 13 java 14 php 12 你的脚本应当输出(以词频升序排列): job c++ java php salary 13 14 12 ...
2021-03-20 13:18:34
114
原创 C/C++:newcode经典例子
题目描述 给定一个 nowcoder.txt文件,其中有3列信息,如下实例,编写一个sheel脚本来检查文件第二列是否有重复,且有几个重复,并提取出重复的行的第二列信息: 实例: 20201001 python 99 20201002 go 80 20201002 c++ 88 20201003 php 77 20201001 go 88 20201005 shell 89 20201006 java 70 20201008 c 100 20201007 java 88 20201006 go 97 结果
2021-03-19 22:13:06
585
原创 统计每个单词出现的个数
题目描述 写一个 bash脚本以统计一个文本文件 nowcoder.txt 中每个单词出现的个数。 为了简单起见,你可以假设: nowcoder.txt只包括小写字母和空格。 每个单词只由小写字母组成。 单词间由一个或多个空格字符分隔。 示例: 假设 nowcoder.txt 内容如下: welcome nowcoder welcome to nowcoder nowcoder 你的脚本应当输出(以词频升序排列): to 1 welcome 2 nowcoder 3 说明: 不要担心个数相同的单词
2021-03-19 22:12:19
459
原创 统计所有进程占用内存大小的和
题目描述 假设 nowcoder.txt 内容如下: root 2 0.0 0.0 0 0 ? S 9月25 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? I< 9月25 0:00 [kworker/0:0H] web 1638 1.8 1.8 6311352 612400 ? Sl 10月16 21:52 test we
2021-03-19 22:11:00
198
原创 C/C++:基础知识
题目描述 写一个 bash脚本以统计一个文本文件 nowcoder.txt中字母数小于8的单词。 示例: 假设 nowcoder.txt 内容如下: how they are implemented and applied in computer 你的脚本应当输出: how they are and applied in 说明: 不要担心你输出的空格以及换行的问题 ...
2021-03-19 22:09:12
186
原创 shell命令:gdb调试
题目描述 写一个 bash脚本以去掉一个文本文件 nowcoder.txt中的空行 示例: 假设 nowcoder.txt 内容如下: abc 567 aaa bbb ccc 你的脚本应当输出: abc 567 aaa bbb ccc
2021-03-19 22:08:20
472
原创 打印空行的行号
题目描述 写一个 bash脚本以输出一个文本文件 nowcoder.txt中空行的行号,可能连续,从1开始 示例: 假设 nowcoder.txt 内容如下: a b c d e f 你的脚本应当输出: 3 5 7 9 10
2021-03-19 22:07:22
330
原创 shell命令:常用的命令基本汇总
题目描述 写一个 bash脚本以输出一个文本文件 nowcoder.txt 中第5行的内容。 示例: 假设 nowcoder.txt 内容如下: welcome to nowcoder this is shell code 你的脚本应当输出: is
2021-03-19 22:06:08
171
原创 打印文件的最后5行
题目描述 经常查看日志的时候,会从文件的末尾往前查看,于是请你写一个 bash脚本以输出一个文本文件 nowcoder.txt中的最后5行 示例: 假设 nowcoder.txt 内容如下: #include<iostream> using namespace std; int main() { int a = 10; int b = 100; cout << "a + b:" << a + b << endl; return 0; } 你的脚本应当输出:
2021-03-19 22:04:26
232
原创 C/C++:经验中展示的各种情况
题目描述 写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数 示例: 假设 nowcoder.txt 内容如下: #include <iostream> using namespace std; int main() { int a = 10; int b = 100; cout << "a + b:" << a + b << endl; return 0; } 你的脚本应当输出: 9 ...
2021-03-19 22:02:38
112
原创 练习:动态规划的套路
动态规划的三大步骤 动态规划,无非就是利用历史记录,来避免我们的重复计算。而这些历史记录,我们得需要一些变量来保存,一般是用一维数组或者二维数组来保存。下面我们先来讲下做动态规划题很重要的三个步骤。 如果你听不懂,也没关系,下面会有很多例题讲解,估计你就懂了。 第一步骤:定义数组元素的含义。上面说了,我们会用一个数组,来保存历史数组,假设用一维数组 dp[] ,这个时候有一个非常重要的点,就是规定你这个数组元素的含义,例如你的 dp[i] 是代表什么意思? 第二步骤:找出数组元素之间的递推关系式。动态规划,
2021-03-12 21:56:01
568
原创 shell与Makefile语法的异同之处
【变量使用】 shell: ${var} Makefile: $(var) 或${var} 【字符串】 shell: 123abc "123abc"(可转义) '123abc'(绝对字符串) Makefile: "123abc" 或:'123abc' 【命令替换】 shell: variable=`commands` variable=$(commands) Makefile: variable=`commands` variable=$(shell commands) var
2021-03-06 09:58:42
236
原创 3. 无重复字符的最长子串
题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个
2021-01-22 20:29:14
149
codeblocks-setup.zip
2020-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人