摘要:
问题描述: 对于序列S和T, 它们之间的距离定义为: 对二者其一进行几次以下操作: 1, 删除一个字符; 2, 插入一个字符; 3, 改变一个字符. 每进行一次操作, 计数增加1. 将S和T变为相等序列的最小计数就是两者的编辑距离(edit distance)或者叫相似度. 请给出相应算法及其实现. 阅读全文
摘要:
问题描述: 假设有几种硬币,并且数量无限。请找出能够组成某个数目的找零所使用最少的硬币数。例如几种硬币为[1, 3, 5], 面值2的最少硬币数为2(1, 1), 面值4的最少硬币数为2(1, 3), 面值11的最少硬币数为3(5, 5, 1或者5, 3, 3). 问题分析: 假设不同的几组硬币为数 阅读全文
摘要:
我们知道, Android操作系统一直在进化. 虽然说系统是越来越安全, 可靠, 但是对于开发者而言, 开发难度是越来越大的, 需要注意的兼容性问题, 也越来越多. 就比如在Android平台上拍照或者选择照片之后裁剪图片, 原本不需要考虑权限是否授予, 存储空间的访问安全性等问题. 比如, 在An 阅读全文
摘要:
引: 最长递增子序列问题, 是一个很基本, 很常见的问题, 它的英文专用名词是LIS: longest increasing subsequence. 但是它的解法却并不那么显而易见, 也并不好理解. 它需要比较深入的思考和良好的算法素养才能得出较好的答案. 本文中将利用动态规划算法思想, 给出相关 阅读全文
摘要:
题目: 给定一个有序数组, 求它的元素的绝对值个数. 如数组[-3, -1, 0, 0, 2, 3, 5], 返回5. 分析: 第一种思路. 数组遍历一遍, 将每一个元素的绝对值放入一个Set里面, 最后求Set的大小. 这种方法虽然很简单, 但是空间复杂度不小, 为O(n). 那么能不能同样只遍历 阅读全文
摘要:
题目: 给定数组a, 里面的元素先严格递增后严格递减, 求最大值元素的下标. 分析: 看到这道题目的时候, 我脑海中首先浮现出现的是爬山坡. "先递增"就是爬坡, "后递减"就是下坡, 而要找的最大值就是"峰顶". 而"严格"二字表明数组中不包含重复数字. OK, 我想最简单的思路就是, 遍历一遍, 阅读全文
摘要:
题目: 给出1个正整数,找到用与这个数字相同的digit组成的整数中比这个数字大的数集中的最小数字。比如:12352874 的结果是 12354278 分析: 这道题目的考虑目标是数组的查找与排序. 当然, 前提是你得明白这道题目的思路是什么样子的. 把正整数转化为char数组a, 长度为n, 末尾 阅读全文
摘要:
拖动手柄 在设计一个支持"拖放"的列表时, 通常提供一个在触摸时初始化拖拽的"拖动手柄". 因其可发现性和可用性而被Material Guidelines所推荐, 尤其是列表处于"可编辑模式"时. 首先更新item的布局(item_main.xml): 用作"拖放手柄"的图片可以在Material 阅读全文
摘要:
Android上面有许多的教程, 库和示例, 在RecyclerView上面实现"拖放"和"滑动删除"功能. 尽管有更新, 更好的方法可用, 但是大多数人依然使用旧的View.OnDragListener和Roman Nurik的SwipeToDismiss方式. 除了经常使用GestureDete 阅读全文
摘要:
在谷歌, 我们总是努力做正确的事. 这意味着有时候我们会调整自己的计划. 我们深切地知道开发者社区是多少地关注 Android 能够对 Java 8 良好的支持, 并且我们正在改变自己对 Java 8 支持的方式. 我们已经决定直接将对 Java 8 的支持添加进当前的 javac 和 dx 工具集 阅读全文