ARTS第二十六周(2020年3月16日~22日)
Algorithm
编号 | 难度 | 题目 | 我的解答 | 执行用时 | 内存消耗 | 排名 | 备注 |
---|---|---|---|---|---|---|---|
203 | 简单 | 移除链表元素 | 200317-1.cpp | 24 ms | 15.4 MB | 68.40% | |
204 | 简单 | 计数质数 | 200317-1.cpp | 116 ms | 7.8 MB | 42.94% | |
205 | 简单 | 同构字符串 | 200317-1.cpp | 4 ms | 8.9 MB | 99.63% | |
206 | 简单 | 反转链表 | 200317-1.cpp | 48 ms | 9.7 MB | 7.96% | 递归法 |
206 | 简单 | 反转链表 | 200317-2.cpp | 4 ms | 9.7 MB | 96.26% | 迭代法 |
207 | 中等 | 课程表 | 200317-1.cpp | 8 ms | 16.1 MB | 100.00% | |
208 | 中等 | 实现 Trie (前缀树) | 200318-1.cpp | 184 ms | 129.9 MB | 8.90% | |
209 | 中等 | 长度最小的子数组 | 200322-1.cpp | 12 ms | 11.6 MB | 67.01% | 双指针法 |
Review
1. C++中的多线程编程
分享链接:
这是关于C++多线程编程的一个系列文章。开始以Pi数值计算为例,后来以图像纹理处理为例,介绍了现代C++(新标准中引入的相关支持)中,如何更高效且安全地开发出多线程程序。
2. 软件行业的创业中的23条建议
分享链接:23 rules to run a software startup with minimum hassle
这是CrankWheel公司的创始人,结合其自己的经历教训,给出的关于软件行业的初创过程中,应该避免的各类问题的建议。
Tip
1. 关于文本文件处理的两个小问题
这是在一门Linux入门课上有人提出的问题:
- 处理文件时,如果每行的字段数量不确定,可以用cut 提取每行最后一个字段吗?
- cut -d使用的分隔符只能是单字符吗?有没有命令可以使用连续多个字符作为分隔?
我给出的解答如下:
cut
命令可以通过-d
参数指定分隔符,但的确要求为单字符:
|
|
这时候,推荐使用最强大的awk
命令:
|
|
对于第一个问题(提取每行最后一个字段),当然也是awk可以轻松解决:
|
|
Share
1. 关于浮点数
在计算机数值表示中,最重要但通常又是很惹人头疼的问题之一,便是浮点数。
浮点数的存储,是存在国际标准的,目前广泛使用的是IEEE 754,它最后修改于2008年。
在wikipedia上的几个重要词条,对此进行了详细介绍:
- https://en.wikipedia.org/wiki/Floating-point_arithmetic
- https://en.wikipedia.org/wiki/IEEE_754-2008_revision
- https://en.wikipedia.org/wiki/Half-precision_floating-point_format
- https://en.wikipedia.org/wiki/Single-precision_floating-point_format
- https://en.wikipedia.org/wiki/Double-precision_floating-point_format
此外,有一个网页,交互式地展示了二进制位与浮点数值之间的对应关系: