更新两张思维导图,有关于数据结构和算法,以及Linux性能优化的知识框架。
趣味题:求字符串的全排列
这是一个面试题。
给定一个字符串,输出这个字符串的全排列。比如给定了字符串abc,那么输出结果就是 abc acb bac bca cab cba
如果用Python来解决这个问题的话,那真的是非常非常简单的了,因为Python有个itertools
工具包,这个包下有个工具类叫permutations
。
几行代码就可以实现功能:
趣味题:找出N个数字中最大的K个
算是一个面试题吧,内容就是如标题所写的一样:
给定N个指定的数字,输出前K个最大的数字,比如给出了1,2,3,4,5,6,7,8,要求输出前3个最大的数字,那么就输出8,7,6
其实这个题目,看起来很简单,其实只需要从大到小排序之后,输出前K个数字就可以了,只是排序有很多种算法——常用的就有冒泡排序、选择排序、插入排序、归并排序、快速排序等等,冒泡、选择、插入的时间复杂度是O(n2),归并、快速的时间复杂度是O(n*lgn)。如果需要自己手动实现排序算法的话,那么使用快速排序和归并排序的效果肯定是最好的。
使用glide进行Go的包管理
长话短说,一切从简。
今天开始使用 glide
进行 Golang
的包管理。
使用Python脚本抓取早期知乎页面里的图片
很久很久以前,我在知乎看到了一个问题长得好看,但没有男朋友是怎样的体验?。
出于男性本能的需求,我就花了一个中午的时间写了个脚本,专门用于抓取知乎问题页面下的图片,然后就把我的代码写到了这个问题的答案里。接着,又过了几天——我的答案被折叠了……
CLI 环境高级配置
最近又发现了几个在 CLI 环境下,对几个已有命令的强化,可以提高用户体验,现在来总结一下。
摇摆舞者乐感入门指南
很久以前,我想成为一个牛逼的吉他手;多年以后,我致力于做音乐的传播者,提高身边朋友们的音乐素养,告诉大家如何去欣赏音乐。
自从 2017 年开始学习摇摆舞以来,我一直都把之前学习吉他的经验应用到学习摇摆舞中,进步还算明显,跳舞之余,还给大家分享了一些有关乐理和乐感的知识。
SSH配置备忘
记录一下我机器上的SSHConfig,防止将来忘记了。
Composer问题排查
RVM使用
之前因为 Ruby 版本的问题,博客一直用不了。前段时间使用了 RVM 来管理 Ruby 的版本,所以博客又复活了。
所以今天就来总结一下如何用 RVM 来管理不同的 Ruby 版本。