ARTS第十六周(2020年1月6日~12日)
Algorithm
编号 | 难度 | 题目 | 我的解答 | 执行用时 | 内存消耗 | 排名 |
---|---|---|---|---|---|---|
59 | 中等 | 螺旋矩阵 II | 200106-1.cpp | 4 ms | 8.7 MB | 92.79% |
60 | 中等 | 第k个排列 | 200106-1.cpp | 100 ms | 8.2 MB | 21.30% |
61 | 中等 | 旋转链表 | 200106-1.cpp | 12 ms | 9 MB | 63.86% |
62 | 中等 | 不同路径 | 200107-1.cpp | 0 ms | 8.2 MB | 100.00% |
63 | 中等 | 不同路径 II | 200107-1.cpp | 8 ms | 9.1 MB | 45.88% |
64 | 中等 | 最小路径和 | 200107-1.cpp | 8 ms | 10.4 MB | 89.43% |
65 | 困难 | 有效数字 | 200108-1.cpp | 4 ms | 8.2 MB | 87.72% |
66 | 简单 | 加一 | 200108-1.cpp | 0 ms | 8.6 MB | 100.00% |
67 | 简单 | 二进制求和 | 200108-1.cpp | 0 ms | 8.7 MB | 100.00% |
68 | 困难 | 文本左右对齐 | 200108-1.cpp | 8 ms | 9.1 MB | 22.76% |
Review
CMake使用技巧
链接文章: Funky CMake
这一篇文章里,给出了作者从实践中得来的一些关于CMake的非正统使用技巧。主要是利用CMake提供的一些基础支持,用于方便地做第三方支持库的获取、编译、部署应用。
CMake定义了自己的一套语法,用来在不同操作系统平台下,生成对应的make,从而实现跨平台的编译环境构建。相关的一些参考学习文章链接:
Tip
shell命令的并行执行
-
方式1 - 后台执行
1 2 3 4
$ command-1 & # 后台执行第一个命令 $ command-2 & # 后台执行第二个命令 $ jobs # 查看后台命令列表 $ wait # 等待后台命令结束
-
方式2 - 开多个终端
可选工具:
-
方式3 - GNU parallel
这是本次技巧总结的重点,它提供了非常灵活的运行方式,来帮助用户组合出多个命令,并且并行执行它们:
1 2
$ cat > commands.txt # 通过各种方式生成一系列命令,每行一个命令 $ parallel commands.txt # 并行执行这些命令
输入的也可以是参数,然后被追加到同一个命令后面,例如:
1
$ find . -name '*.html' | parallel gzip --best
或者,也可以命令行直接指定多个参数(使用
:::
),让其逐个枚举并生成需要并行的命令:1
$ parallel gzip --best ::: *.html
-
方式4 - seqpipe
https://github.com/yanlinlin82/seqpipe/
这是我自己开发的流程框架工具。其主要目的是为了记录详细的运行命令行参数及日志。在未正式发布的第5、6版本中,我仿照GNU parallel写了一些最基本的并行支持,后续考虑参考GNU parallel和其他类似工具,提供各种更灵活简便的使用方式。
Share
命令行下的数据分析工具
分享文章:An Introduction To Data Science On The Linux Command Line
这篇文章介绍了常用了Linux命令行,大多数都是我平时经常在使用的,对于很多数据清洗过程,的确很方便。
此外,为了扩展上述命令,更简便地处理TSV(TAB separated values)格式文件,以及对Excel的输入输出等功能,我还开发了一个tsv工具,并在实践过程中,不断完善其功能。
高效Linux命令行
分享公众号文章:15个相见恨晚的 Linux 神器,你可能一个都没见过
这些Linux工具的确对已有被替代工具,在效率和易用性上,做了大量的优化,值得尝试并引入日常使用。