ARTS第四十一周(2020年6月29日~7月5日)
Algorithm
编号 | 难度 | 题目 | 我的解答 | 执行用时 | 内存消耗 | 排名 | 备注 |
---|---|---|---|---|---|---|---|
283 | 简单 | 移动零 | 200705-1.cpp | 8 ms | 8.9 MB | 90.90% | |
284 | 中等 | 顶端迭代器 | 200705-1.cpp | 0 ms | 7.7 MB | 100.00% | |
287 | 中等 | 寻找重复数 | 200705-1.cpp | 28 ms | 12.8 MB | 22.99% |
Review
1. “语境坍缩”与“内容坍缩”
分享链接:From context collapse to content collapse
在互联网社交平台普及前,人们在不同语境下,与不同圈子的人,发表不同言论。如今,社交网络上的发声,往往无差别地传递到了这些不同语境的对象。此即“语境坍缩”。
社交平台逐渐允许屏蔽信息只让部分人看到,以此来对抗“语境坍缩”的影响。
新近发生的,更多是“内容坍缩”,即大量不同内容提供者,开始在同一场景下竞争厮杀,这相比过去门户网站把控着主流观点及内容的情况,是一种进步。
Tip
1. 如何解决ggplot输出PDF时汉字显示不正常的问题
这是在实际应用场景中遇到的问题,在输出一个图表到pdf文件,其中内容包含汉字时,出现了如下警告(通过warnings()
查看到):
In grid.Call.graphics(C_text, as.graphicsAnnot(x$label), ... :
conversion failure on '汉字' in 'mbcsToSbcs': dot substituted for <xx>
该问题可以通过安装并装载一个R包进行解决:
|
|
参考链接:R-help: display UTF8 characters in pdf
2. 如何使用GPG验证下载的软件包
今天在Windows系统下载Putty工具的安装包,该下载页面提供了signature,用于验证软件包未被篡改(此前存在过非官网下载该工具被植入了木马的情况)。
需要使用软件包GnuPG:https://www.gnupg.org/
使用方法如下:
|
|
这时提示没有公钥,于是尝试搜索该公钥,并根据提示输入数字“1”,导入该公钥:
|
|
再次检查签名:
|
|
提示验证成功(Good signature
)。
其他参考链接:The GNU Privacy Handbook: Making and verifying signatures
Share
1. 打造一个旧式的BASIC解释器
分享链接:Building a BASIC Interpreter, ’80s style
这应该是系列文章的其中一篇。作者在尝试重现上世纪80年代的一些工作,即仅使用汇编语言这样的支持有限的平台,重新打造一个BASIC的解释器。
在这篇文章中,作者介绍了“line transformation(列格式转换)”、“tokenization(词语切分)”和“runtime syntex checking(运行时语法检查)”这三个解释器重要实现环节,以及相应的汇编代码实现。
这种重新发明轮子的做法,其实是很有效的学习方法,因为在这个过程中,有大量隐含的问题,会暴露在操作者的视野中,使其得到相应的技能锻炼和提高。我自己也曾尝试过用C++写一个C++解释器:icpp: an interpreter for C++,虽然并没有完全完成,但的确是一段很有意思也很有启发的旅程。