- 博客(219)
- 资源 (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
234
原创 C++的构造tips
作者:匿名用户链接:https://www.zhihu.com/question/30196513/answer/563560938来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。C++难就难在:在C++中你找不到任何一件简单的事。上面有人把C++和物理作类比。我很同意。理论物理是一场无尽的旅程,总有最前沿的东西。我对神经科学很感兴趣,也有幸与一个神经科学相关专业的学生交流过,她还给我发过资料,我很感激。然而我在知乎上看到过一个相关的讨论。一个人说“我小时候就想知道大脑
2021-12-16 10:03:48
1469
原创 STL容器的线程安全
众所周知,STL容器不是线程安全的。对于vector,即使写方(生产者)是单线程写入,但是并发读的时候,由于潜在的内存重新申请和对象复制问题,会导致读方(消费者)的迭代器失效。实际表现也就是招致了core dump。另外一种情况,如果是多个写方,并发的push_back(),也会导致core dump。解法一:加锁是一种解决方案,但是加std::mutex互斥锁确实性能较差。对于多读少写的场景可以用读写锁(也叫共享独占锁),来缓解。C++17引入了std::shared_mutex 。更多锁的种类可以
2021-12-14 15:45:17
1752
原创 一些运算符重载研究
一些运算符重载研究#include <iostream> /* 可重载运算符双目算术运算符 + (加),-(减),*(乘),/(除),% (取模)关系运算符 ==(等于),!= (不等于),< (小于),> (大于),<=(小于等于),>=(大于等于)逻辑运算符 ||(逻辑或),&&(逻辑与),!(逻辑非)单目运算符 + (正),-(负),*(指针),&(取地址)自增自减运算符 ++(自增),--(自减)位运算符
2021-12-13 10:22:47
940
原创 完美转发例子与研究
完美转发例子与研究#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
263
原创 2021-10-23
浅解NUMA机制导读本文适合知道NUMA这个词但想进一步了解的新手。以下的文章内容包括:NUMA的产生背景,NUMA的架构细节和几个上机演示的例子。NUMA的诞生背景在NUMA出现之前,CPU朝着高频率的方向发展遇到了天花板,转而向着多核心的方向发展。在一开始,内存控制器还在北桥中,所有CPU对内存的访问都要通过北桥来完成。此时所有CPU访问内存都是“一致的”,如下图所示:UMA这样的架构称为UMA(Uniform Memory Access),直译为“统一内存访问”,这样的架构对软件层面
2021-10-23 09:50:20
189
原创 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
141
原创 Shell脚本应用场景举例
写一个 bash脚本以实现一个需求,去掉输入中的含有B和b的单词示例:假设输入如下:bignowcoderBettybasictest你的脚本获取以上输入应当输出:nowcoder test说明:你可以不用在意输出的格式,空格和换行都行...
2021-03-20 13:23:01
866
原创 Linux文本处理三剑客:grep,sed,awk
题目描述写一个bash脚本以实现一个需求,求输入的一个的数组的平均值第1行为输入的数组长度N第2~N行为数组的元素,如以下为:数组长度为4,数组元素为1 2 9 8示例:41298那么平均值为:5.000(保留小数点后面3位)你的脚本获取以上输入应当输出:5.000...
2021-03-20 13:22:07
172
原创 分类:线性连续存储(字符串,数组,队列,栈等)
题目描述写一个 bash脚本以实现一个需求,去掉输入中含有this的语句,把不含this的语句输出示例:假设输入如下:that is your bagis this your bag?to the degree or extent indicated.there was a court case resulting from this incidentwelcome to nowcoder你的脚本获取以上输入应当输出:to the degree or extent indicated.
2021-03-20 13:21:03
131
原创 分类:其他
题目描述写一个 bash脚本以统计一个文本文件 nowcoder.txt中每一行出现的1,2,3,4,5数字个数并且要计算一下整个文档中一共出现了几个1,2,3,4,5数字数字总数。示例:假设 nowcoder.txt 内容如下:a12b810ccc2521abc9asf你的脚本应当输出:line1 number: 2line2 number: 1line3 number: 4line4 number: 0sum is 7说明:不要担心你输出的空格以及换行的问题...
2021-03-20 13:20:13
150
原创 C/C++:C++11新特性
题目描述写一个 bash脚本来转置文本文件nowcoder.txt中的文件内容。为了简单起见,你可以假设:你可以假设每行列数相同,并且每个字段由空格分隔示例:假设 nowcoder.txt 内容如下:job salaryc++ 13java 14php 12你的脚本应当输出(以词频升序排列):job c++ java phpsalary 13 14 12...
2021-03-20 13:18:34
106
原创 C/C++:newcode经典例子
题目描述给定一个 nowcoder.txt文件,其中有3列信息,如下实例,编写一个sheel脚本来检查文件第二列是否有重复,且有几个重复,并提取出重复的行的第二列信息:实例:20201001 python 9920201002 go 8020201002 c++ 8820201003 php 7720201001 go 8820201005 shell 8920201006 java 7020201008 c 10020201007 java 8820201006 go 97结果
2021-03-19 22:13:06
570
原创 统计每个单词出现的个数
题目描述写一个 bash脚本以统计一个文本文件 nowcoder.txt 中每个单词出现的个数。为了简单起见,你可以假设:nowcoder.txt只包括小写字母和空格。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。示例:假设 nowcoder.txt 内容如下:welcome nowcoderwelcome to nowcodernowcoder你的脚本应当输出(以词频升序排列):to 1 welcome 2 nowcoder 3 说明:不要担心个数相同的单词
2021-03-19 22:12:19
448
原创 统计所有进程占用内存大小的和
题目描述假设 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 testwe
2021-03-19 22:11:00
185
原创 C/C++:基础知识
题目描述写一个 bash脚本以统计一个文本文件 nowcoder.txt中字母数小于8的单词。示例:假设 nowcoder.txt 内容如下:how they are implemented and applied in computer 你的脚本应当输出:howtheyareandappliedin说明:不要担心你输出的空格以及换行的问题...
2021-03-19 22:09:12
173
原创 shell命令:gdb调试
题目描述写一个 bash脚本以去掉一个文本文件 nowcoder.txt中的空行示例:假设 nowcoder.txt 内容如下:abc 567 aaabbb ccc你的脚本应当输出:abc567aaabbbccc
2021-03-19 22:08:20
462
原创 打印空行的行号
题目描述写一个 bash脚本以输出一个文本文件 nowcoder.txt中空行的行号,可能连续,从1开始示例:假设 nowcoder.txt 内容如下:ab c d e f你的脚本应当输出:357910
2021-03-19 22:07:22
317
原创 shell命令:常用的命令基本汇总
题目描述写一个 bash脚本以输出一个文本文件 nowcoder.txt 中第5行的内容。示例:假设 nowcoder.txt 内容如下:welcometonowcoderthisisshellcode你的脚本应当输出:is
2021-03-19 22:06:08
167
原创 打印文件的最后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
226
原创 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
107
原创 练习:动态规划的套路
动态规划的三大步骤动态规划,无非就是利用历史记录,来避免我们的重复计算。而这些历史记录,我们得需要一些变量来保存,一般是用一维数组或者二维数组来保存。下面我们先来讲下做动态规划题很重要的三个步骤。如果你听不懂,也没关系,下面会有很多例题讲解,估计你就懂了。第一步骤:定义数组元素的含义。上面说了,我们会用一个数组,来保存历史数组,假设用一维数组 dp[] ,这个时候有一个非常重要的点,就是规定你这个数组元素的含义,例如你的 dp[i] 是代表什么意思?第二步骤:找出数组元素之间的递推关系式。动态规划,
2021-03-12 21:56:01
558
原创 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
228
原创 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
141
原创 2-两数相加
【2】两数相加题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9
2021-01-22 20:21:45
203
codeblocks-setup.zip
2020-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人