算法
LeetCode 650. 2 Keys Keyboard
题目:初始化字符只有一个A,现在有两种操作:1.复制当前所有字符。2.粘贴。使用这两种操作得到n个A字符,求最少的步数。 思路:我是在dp的tag下找到的这个题目,但是我发现最简单的解法应该直接使用贪心算法就可以了。 要得到n个A字符,可以认为最少的步数肯定是通过粘贴最多的字符来得到的,那么反推就能 阅读更多…
题目:初始化字符只有一个A,现在有两种操作:1.复制当前所有字符。2.粘贴。使用这两种操作得到n个A字符,求最少的步数。 思路:我是在dp的tag下找到的这个题目,但是我发现最简单的解法应该直接使用贪心算法就可以了。 要得到n个A字符,可以认为最少的步数肯定是通过粘贴最多的字符来得到的,那么反推就能 阅读更多…
题目:给定一个数组nums,给定一个整数k,求数组内k长度的子串和最大的3个子串位置。(位置不可重复,结果数字序要求最小) 比如: Input: [1,2,1,2,6,7,5,1], 2 Output: [0, 3, 5] 最大为 [1, 2] [2, 6] [7, 5]的和 思路:看到带3的题目, 阅读更多…
题目:给定一个股票价格数组prices,标记了每天股票的价格,还有一个股票买卖手续费fee。求交易最大利润。 比如: Input: prices = [1, 3, 2, 8, 4, 9], fee = 2 Output: 8 思路:动态规划,使用两个变量分别记录当前购买股票hold和售出股票cash 阅读更多…
emoji 网上已经有很多的mysql支持emoji文章了,大概就是:不管是啥mysql相关配置,通通改成utf8mb4 。 这样就能够支持emoji了,所以我也不多介绍这方面,我只说一下我遇到的几个坑。 1.找不到my.ini linux下应该好找,但是windows下,要不就是没有,要不就是有好 阅读更多…
Android应用应该要很快,更精确的说应该是要有效率。那就是说移动设备环境中有限的计算能力和数据存储,很小的屏幕,有限的电池寿命中要更有效率。 这篇博客我就会向你展示为性能而设计的最佳实践。 1. 避免创建对象 对象的创建在android中开销要比在java中大的多。尽量去避免创建一个对象,越多的 阅读更多…
实现目标 相信大家都知道毛玻璃效果是怎样的,也可以说是高斯模糊效果。效果图如下: 这是一个透明,且会对背景进行高斯模糊的效果,看起来就像是毛玻璃一样,其实不光是侧滑菜单,只要是view,理论上都可以实现这样的效果,接下来我们就来实现这个效果。 第一步:框架搭建 我使用的android studio, 阅读更多…
实现目标 这一篇文章,就要直接实现聊天的功能,并且,在聊天功能的基础上,再实现缓存一定聊天记录的功能。 第一步:聊天实现原理 首先,需要明确我们的需求。通常,网页上的聊天,都是聊天室的形式,所以,这个例子也就有了一个聊天的空间的概念,只要在这个空间内,就能够一起聊天。其次,每个人都能够发言,并且被其 阅读更多…
学习背景 很久以前就知道WebSocket,但那时不论是浏览器还是开发技术对它的支持都还很少。但是,Spring4突然发布,让我眼前一亮,Spring4直接支持WebSocket。 对于Spring我还是很喜欢的,它让Java Web开发相当的有艺术感,这次支持的WebSocket又特别的和我的胃口 阅读更多…