LeetCode 746. Min Cost Climbing Stairs

LeetCode 746. Min Cost Climbing Stairs 题目:爬楼梯,可以选择爬一级或者两级,每一级需要消耗的能量存储在cost数组中,可以选择从第一级或者第二级开始爬,求最小的能量消耗是多少。 思路: 非常简单的一道动归题目,只需要用到缓存,就能直接解决了。唯一我用到的一个技 阅读更多…

Node Cluster

众所周知,Nodejs是单线程运行的,这也是它经常被吐槽的一个点。针对这个点,Node推出了Cluster这个模块,用于创建多进程的Node应用。 基础使用 Cluster的基本使用方法就是cluster.fork(),这样就能直接创建一个新的进程。进程使用有完全独立的数据空间,堆栈等。这个时候我们 阅读更多…

LeetCode 10. Regular Expression Matching

题目:实现正则表达式的.和*两个符号。 思路:第一时间看到正则,马上就想到了用while来不停匹配。后来遇到了a*a匹配aa,发现要处理贪心和不贪心多种情况,所以将while转为了递归。 题目考察的多是递归的设计和考虑多种情况是否周全,代码很少(JS实现): var isMatch = functi 阅读更多…

LeetCode 650. 2 Keys Keyboard

题目:初始化字符只有一个A,现在有两种操作:1.复制当前所有字符。2.粘贴。使用这两种操作得到n个A字符,求最少的步数。 思路:我是在dp的tag下找到的这个题目,但是我发现最简单的解法应该直接使用贪心算法就可以了。 要得到n个A字符,可以认为最少的步数肯定是通过粘贴最多的字符来得到的,那么反推就能 阅读更多…

关于mysql与emoji的坑

emoji 网上已经有很多的mysql支持emoji文章了,大概就是:不管是啥mysql相关配置,通通改成utf8mb4 。 这样就能够支持emoji了,所以我也不多介绍这方面,我只说一下我遇到的几个坑。 1.找不到my.ini linux下应该好找,但是windows下,要不就是没有,要不就是有好 阅读更多…

[译]Android程序性能设计最佳实践

Android应用应该要很快,更精确的说应该是要有效率。那就是说移动设备环境中有限的计算能力和数据存储,很小的屏幕,有限的电池寿命中要更有效率。 这篇博客我就会向你展示为性能而设计的最佳实践。 1. 避免创建对象 对象的创建在android中开销要比在java中大的多。尽量去避免创建一个对象,越多的 阅读更多…

Android毛玻璃效果侧滑菜单

实现目标 相信大家都知道毛玻璃效果是怎样的,也可以说是高斯模糊效果。效果图如下: 这是一个透明,且会对背景进行高斯模糊的效果,看起来就像是毛玻璃一样,其实不光是侧滑菜单,只要是view,理论上都可以实现这样的效果,接下来我们就来实现这个效果。 第一步:框架搭建 我使用的android studio, 阅读更多…