颜林林的“左耳听风ARTS”打卡记录

ARTS第十一周(2019年12月2日~8日)

2019-12-03

Algorithm

成绩表

编号 难度 题目 我的解答 执行用时 内存消耗 排名
34 中等 在排序数组中查找元素的第一个和最后一个位置 191202-1.cpp 12 ms 10.5 MB 59.57%
35 简单 搜索插入位置 191203-1.cpp 8 ms 8.7 MB 70.69%
36 中等 有效的数独 191208-1.cpp 4 ms 9.4 MB 99.97%
37 困难 解数独 191208-1.cpp 40 ms 8.6 MB 23.66%

Review

Implementation of Resizable Multidimensional Arrays in C++17

这是一篇技术文章,在C++中从头构建多维数组类型,并支持其数组大小可变。C++本身只支持一维数组(vector类型),而不支持多维数组。虽然可以使用嵌套的vector来实现类似效果,但这种方式每个层级不同元素之间的数组长度互相独立,其效果与科学计算中的矩阵和张量并不一致。这篇文章充分使用了恰当的内存布局和指针寻址方式,配合C++新标准的操作符重载与模板封装方法,来实现了所需的多维数组效果。其最终表现性能胜过vector的方式。且文章在介绍各个实现细节重点时,也讲解清楚,值得仔细阅读学习。

Tip

如何在Linux下对PDF文件进行减肥

Linux shell script to reduce PDF file size

本文提供了一个shell脚本,调用gs命令,对pdf中图片、meta信息等进行缩减,从而达到缩小PDF文件大小的目的。

Share

html提供的几种空格实体

介绍了如下字符:

  •   (不换行空格,no-break space)
  •  (半角空格,en space)
  •  (全角空格,em space)
  •  (窄空格,thin space)
  • ‌(零宽不连字,zero width non joiner)
  • ‍(零宽连字,zero width joiner)
  • 	(制表符)
  • 
(换行)
  • 
(回车)
  •