ARTS第二十二周(2020年2月17日~23日)
Algorithm
编号 | 难度 | 题目 | 我的解答 | 执行用时 | 内存消耗 | 排名 |
---|---|---|---|---|---|---|
165 | 中等 | 比较版本号 | 200218-1.cpp | 4 ms | 8.5 MB | 68.39% |
166 | 中等 | 分数到小数 | 200220-1.cpp | 4 ms | 8.8 MB | 74.73% |
167 | 简单 | 两数之和 II - 输入有序数组 | 200220-1.cpp | 220 ms | 9.6 MB | 5.17% |
168 | 简单 | Excel表列名称 | 200220-1.cpp | 4 ms | 8.2 MB | 59.97% |
169 | 简单 | 多数元素 | 200220-1.cpp | 20 ms | 11.3 MB | 79.09% |
171 | 简单 | Excel表列序号 | 200220-1.cpp | 4 ms | 8.3 MB | 79.18% |
172 | 简单 | 阶乘后的零 | 200221-2.cpp | 0 ms | 8.4 MB | 100.00% |
173 | 中等 | 二叉搜索树迭代器 | 200221-1.cpp | 80 ms | 25.9 MB | 21.34% |
174 | 困难 | 地下城游戏 | 200221-1.cpp | 8 ms | 10.2 MB | 79.51% |
175 | 简单 | 组合两个表 | 200221-1.sql | 176 ms | 0 MB | 41.84% |
176 | 简单 | 第二高的薪水 | 200221-1.cpp | 181 ms | 0 MB | 10.64% |
Review
1. 更易于维护的C程序结构
文章链接:How to write a good C main function
这篇文章详细介绍了如何编写出更加易于维护的C程序,给出了一个详细的示例框架的各个部分,包括:
- 0 copyright/licensing
- 1 includes
- 2 defines
- 3 external declarations
- 4 typedefs
- 5 global variable declarations
- 6 function prototypes
- 7 command-line parsing
- 8 function declarations
符合大多数程序遵循的惯例,让读者在阅读代码时,有更多的可预期,是降低代码理解的关键之一。
Tip
1. 如何修改gnome桌面的缺省文本编辑器
在~/.local/share/applications/
目录中创建文件defaults.list
,写入如下内容:
[Default Applications]
text/plain=gvim.desktop # 若改为vim.desktop,将使用终端vim(而非图形界面vim)
即可将缺省的gedit改为使用vim打开相应文本文件。
参考:https://www.marksanborn.net/linux/making-gvim-your-default-text-editor-in-gnome/
2. 修改gnome的缺省用户目录
配置文件位于~/.config/user-dirs.dirs
,可以用文本编辑器直接打开修改。
或者采用如下命令:
|
|
参考:https://askubuntu.com/questions/67044/change-default-user-folders-path
3. 在gitignore中进行反选
今天遇到一个需求,希望在git仓库中,对某个目录,把特定类型文件加入仓库进行版本管理,而忽略同目录中的其他所有文件。
解决方法为:先定义忽略该目录,然后在其后以“!”开头定义需要反选(即不忽略)的文件,例如:
$ cat .gitignore
distfiles/*
!distfiles/*.sha256sum
这个文件定义了,忽略distfiles/
目录下,所有非“.sha256sum”结尾的文件。
参考:https://stackoverflow.com/questions/54702404/how-to-use-gitignore-reverse-select
Share
1. 更便利的展示目录树的小工具
项目链接:
对于包含较多文件的目录,列举展示其文件,通常是个比较麻烦的事。这个工具在这方面做了改进,以更清晰简洁的方式快速展示目录树内容,并提供目录跳转等功能。