排列组合 Python 实现

这个问题其实已经困扰我好久了, 也在网上看了非常多的教程, 始终都掌握不好. 有些代码很简洁, 但阅读性不强. 有些代码很长, 看着看着就走神了.

直到最近在弄DFS, 某天突然灵感一现, 觉得排列组合的问题可以用DFS的方法求解, 于是打开电脑, 顺着思路一点一点把代码敲下来, 没想到还真的可以.

觉得有必要把自己的思路记录下来, 万一将来忘了, 回头也能看看.

或者将来有了更好的思路, 也能回过头来对比一下.

 

全排列:...

Read More...

2019, it’s all about the target

年末的总结有点强迫自己完成的意思, 就像今年年初给自己定下的计划. 有些东西, 要是不强迫自己, 就永远都不会做.

也许真的是到了岁数了, 很多事情不争也就不争了. 要是不涉及到自己的利益, 或者和当前阶段的目标没有冲突的话, 睁一只眼闭一只眼也就过去了.

今年很少熬夜了, 和前几年完全不一样, 只要是晚于2点睡觉, 第二天一定会睡到10点之后, 然后要整整一天, 或者两天的时间才能恢复过来.

现在回头来想想, 也确实是很心酸. 难道以后就不能熬夜了么? 一年一年的差距真的就这么大么?

也尝试过平板支撑, 也许是内心对于目标的过于渴求, 感觉和前几年去健身房锻炼的态度没啥两样, 给自己设定了一个目标, 到达了这个目标后, 就放弃了.

也许是目标设的不够高, 更可能这个目标设的不对.

比如, 平板支撑, 不是说能坚持到两分钟就可以了, 坚持到两分钟只是让自己长久锻炼的一种手段, 就像艾玲说的, 吃完饭就一屁股坐在电脑前, 然后不管自己当前是不是真的有效率, 反正就是要朝着那个目标前进.

殊不知, 没有效率的锻炼, 看书, 很有可能会让自己无限受挫, ...

Read More...

2018, mission accomplished, almost

每年的这篇年记, 基本上都是在新年到来前的最后一个星期写的, 今年提前了, 因为要回国陪老婆.

这篇东西的目的其实很简单, 就是如实的回顾一下今年发生的事, 做一下自我总结, 看看有没有能提升的地方, 然后展望一下明年.

每个阶段的回顾其实也差不多, 只是每个阶段都会只着眼于当前的这段时间, 而不能从一年的角度来看待.

所以, 每个阶段都有每个阶段的事, 往往都是独立的, 每个阶段的任务都没有串联起来, 从而为整年的任务服务. 明年要做的第一件事, 把整年的大目标拆分到每个阶段应该完成些什么, 然后所有的小目标都应该为了大目标服务.

就像扎克伯格和马斯克做事的方式, 所有的事情都是为了最后的大目标, 而大目标本身是可以被拆分很多小目标的.

不要谈些镜中花水中月的事情, 很多不务实的事情写下来也没用. 不如谈点实际的, 从今年的回顾开始. 能想到什么就写什么.

一月份, 年初非常冷, 有两天甚至零下20多度. 甚至冷的连对面的Hmart都去不了, 那天就只能在家. 再冷的天, 班还是得上, 每天就是为了GRC 的Retiree的定义奋斗, 怎么把数据弄出来, 而且对结果能自圆其说.

最大的问题是从哪里取数据, ...

Read More...

袜子和电脑

脚上的袜子破了, 柜子里的袜子基本上也差不多了. 这个牌子(S&K, 生活几何), 这个型号的袜子已经穿了10年了. 从来都没喜欢过它的替代品, 也穿不惯其他牌子的袜子. 不管冬天还是夏天, 柜子里永远整齐的10双一模一样的袜子.

今天上淘宝搜了一下, 只剩下最后的18双. 正要下单的时候, 稍微犹豫了一下. 估计厂家也不准备再继续生产, 等这18双穿破之后, 我以后再到哪里去买?

手上的ThinkPad已经用了5年了, 今天正好看到有Lenovo的打折, 加上返现, 基本上等于对折, 几乎满足我的一切需求.

这么些年也买过不少的电脑了, 从Surface Pro 到 MacBook Pro, 再到小米Air… 一直都是把这些机器当做玩具, 其实没怎么想过要换主力机.

毕竟还能用, 毕竟啥毛病都没有, 毕竟用惯了.

就这么一犹豫, 心里一咯噔, 没有下单.

最近一直在看Matt D’Avella关于极简主义的视频. 和以前想象的极简主义完全不一样, 他住的地方看上去无比正常, ...

Read More...

2017, it just got started

零下15度, 这个新年夜据说是纽约历史上第二冷.

正如我去年所说的, 时间是越过越快. 今年真的就”嗖”的一下就过去了.

每年的跨年晚会, 边看都会边发出相同的感慨, 嗯, 时间过的好快, 一年又过去了. 明年的这个时候我会在干嘛呢?

年中的时候突然想到, 抱怨时间过得快其实真的没用, 明年的”这个时候”总是会如期而至, 那是不是明年还要问自己一样的问题呢? 为什么一个相同的问题要一遍一遍问自己, 这甚至都不是一个问题, 而是一个感慨.

对同一个话题感慨那么多遍有用么? 有意思么?

今年来养成了一个习惯, 每过一个阶段(~5个星期)做一下自我小结, 回顾一下这个阶段做了些什么事. 也算是为下一阶段做好准备.

停下脚步, 看看走过的路, 才能确定自己是不是正走在正确的路上.

可是有个问题, 每次阶段的目标, 似乎都是分散的, 前后没有连贯性, 也和一年的目标, 以及长远的目标没有挂钩, 这是在2018年要解决的事情. 每次制定阶段目标, 不能一次性吃个大胖子, 脚踏实地, 一步步来. 计划要可行, 可度量....

Read More...

顶级的咨询公司

刚才听了个所谓顶级咨询公司的讲座, 真想申请退款. 

顶级咨询公司的顾问, 在线上做录音直播, 面对区区100多个吃瓜群众, 紧张的话都说不利索, 喉咙里跟卡了半块月饼似的, 跟直播的那些网红比差多了. 

为了对比咨询公司和路演PPT的区别, 很不凑巧的找了老罗发布锤子手机的时候为了表现手机超多技术特性的那页KeyNote. 也不知道这群家伙有没有听过当时那场发布会, 老罗当时说他自己是不懂技术的, 然后放出那张罗列了一大堆技术名词的KeyNote, 其实是为了营造戏剧化的效果, 罗列的越详细, 也越能让人记住, 嗯, 锤子手机有一大票牛逼的技术功能.

作为”顶级”咨询公司, 看到的竟然是老罗把那么多新功能罗列上去, 让人阅读困难… (观众需要具体的名称么? 事后网上一查都有, 人家要的就是让你记住, 锤子的新手机有很多牛逼功能!)

更糟糕的是, 业务也不利索, 展示的PPT, 图表和数字堆叠, 数字超框的情况比比皆是. 还特么自称导师….再瞧瞧这看起来像是Office 97做的排版… 也不知道这几个人以前是啥顶级咨询公司的…

也不知道这几个人有什么底气就出来创业, 还开个培训班…

我也讲不好我心中顶级的咨询公司是啥样的, 我只知道作为一个咨询顾问, 你就是要解决问题的, 术业有专攻.

你既然开张接客, ...

Read More...

Raspberry Pi Zero w 使用USB连接Windows 7 实现共享上网

接着上篇, 搭建好树莓派后, 有时希望能和Windows 7笔记本直接用USB连接. 这样在配置和输入命令, 或者使用VNC Viewer连接的时候延时会好一点.

  1. 将上一步已经写好的MicroSD卡连接到 Windows 笔记本
  2. 打开boot分区, 找到一个叫config.txt的文件, 在文件的最后面新建一行, 输入以下内容并保存文件

    dtoverlay=dwc2

  3. 打开cmdline.txt, 在rootwait 后面加入 modules-load=dwc2,g_ether 注意前后都要空格. 这样在树莓派上的配置任务就完成了.
  4. 然后把树莓派通电,再连接上电脑. 注意, 通电和USB 是两个插口, 一定要先接上电源,然后再用另外一根线把树莓派和电脑连接.
  5. 这时, Windows会自动识别这个硬件, 然后安装驱动.

    如果没有自动成功安装驱动, 则需要手工安装

    1. 右键我的电脑à管理à设备管理器à查看à
...

Read More...

Raspberry Pi Zero W 无显示器安装

前几个星期看到网上有卖Raspberry pi Zero w, 当下就下了单, 完全没考虑运费和时间. 好在上个星期都东西送到, 一切都好, 简单看了一下, 确实比前辈们要小很多, 而且越发觉得神奇, 这么小的一个东西竟然能够跑完整版的 Linux系统.

更要命的是, 自带了无线网卡和蓝牙, 这样连wifi dongle都不用了, 只要把系统配置好, 开机直接就能连上wifi了.

好吧, 其实很简单.

  1. 先到官网上把Raspbian下载下来, 用Win32DiskImager写到MircoSD 卡上.
  2. 写完之后, 那张MicroSD卡在Windows 上会被重新命名成boot
  3. 打开上面说的那个boot 分区, 建立一个名为ssh的空文件(Linux 的命令 touch ssh, windows 下面就新建一个ssh.txt, 然后把.txt后缀名删掉), 文件就叫 ssh, 没有任何拓展名.

    从2016年的某一个版本开始,

...

Read More...

Linux 开机运行

这个问题困扰了我很长时间, 今天总算下定决心解决了. 其实很简单, 只要把sh可执行文件, 放到/etc/init.d 下面, 然后运行以下的命令就可以了.

sudo update-rc.d xxx.sh defaults 100

这里的100只是告诉系统这段程序没什么重要, 在加载完系统自己的服务后运行就可以了.可以改成其他的数字, 1000或者10000…...

Read More...