给定一个链表和一个值 x,将链表中所有值小于 x 的节点移动到值大于等于 x 的节点之前。 继续阅读
61. Rotate List 「旋转链表」
给定一个链表,向右旋转链表 k 次,k 大于等于 0。 继续阅读
143. Reorder List 「重排链表」
给定一个单链表 L:L0→L1→…→Ln-1→Ln,要求重排成:L0→Ln→L1→Ln-1→L2→Ln-2→… 继续阅读
为 git 设置代理
有些时候,git 的速度很慢,我们可能需要设置一个合适的代理来加速。 继续阅读
191. Number of 1 Bits 「位 1 的个数」
macOS 原生输入法设置双拼自然码
使用 GPG 签名你的 Commits
准备工作
首先要安装好 GPG 工具。
brew install gnupg gnupg2 pinentry-mac
配置使用环境。
test -r ~/.bash_profile && echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile
echo 'export GPG_TTY=$(tty)' >> ~/.profile
mkdir ~/.gnupg
echo "pinentry-program /usr/local/bin/pinentry-mac" >> ~/.gnupg/gpg-agent.conf
killall gpg-agent
Ubuntu 18.04 配置开机启动项
在 Ubuntu 16.04 版本中,配置开机启动项是一件很简单的事情,只需在 /etc/rc.local
中添加即可。但在 Ubuntu 18.04 中,此方法失效。经搜索实践,总结了一下较为简单的设置开机启动项的方法。 继续阅读
最强日期正则表达式
简单的日期判断(YYYY/MM/DD)
^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$
演化的日期判断(YYYY/MM/DD| YY/MM/DD)
^(^(\d{4}|\d{2})(\-|\/|\.)\d{1,2}\3\d{1,2}$)|(^\d{4}年\d{1,2}月\d{1,2}日$)$
加入闰年的判断
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$
macOS 下的包管理器 Homebrew
介绍
之前使用 Ubuntu 和 CentOS 的时候,它们都各自拥有便捷的包管理器 APT
和 YUM
,使用它们安装卸载软件,自动解决依赖问题,非常方便。最近在换用 macOS 系统之后,却没有了类似的管理器,安装软件又回到了和 Windows 一样的体验。虽说 App Store 拥有一些很优秀的软件,但是作为一个未来的码农,需要的很多软件并没有 App Store 版,如果手动下载安装,以后软件更新了还需要再下载安装一次,这些无意义的重复劳动需要解决掉。
继续阅读