TopK问题是很常见的一种问题,它的描述是从一个数据集或者序列中取出前k大(或者前k小),或者说找出第k大(第k小)。最为典型的就是 题215. 数组中的第K个最大元素。解决TopK需要的是最基础的数据结构和算法,不但可以考查编码基本功,更能考查思维能力。
DFS in Depth
BFS in Graph Made Easy
前面一篇文章讲解过BFS和DFS的基本概念常见用法,今天专注于图论中的BFS,来深入的探讨一下BFS在图论的搜索中的应用,并总结相关解题技巧。
悼念耗子叔
惊闻耗子叔突然辞世,悲伤不已。仍活跃在一线的技术大神,前几天仍在社交网络上活跃的大牛,突然就这么走了,犹如一首高亢激昂的交响乐曲,嘎然而止,亦如波涛奔涌的大江,瞬间冰封,不免让人心痛,亦会唏嘘感慨生命的短暂。
Android Scoped Storage Puzzles
安卓对于文件存储这块,其实是相当混乱的,在早期的版本中对存储甚至是没有所谓的管理的,有多种方法可以操作文件存储,比如通过Java原生的方式(File/InputStream/OutputStream),以及通过ContentProvider的方式(openFile/openOutputStream)。文件的路径也是相当混乱的,有公共存储区域,App的沙盒,外部存储中的App沙盒,但其实整个文件系统中的文件都是可读的,除了系统目录,其他应用的沙盒(内部和外部)以外也都是可写的。这就造成了,安卓的文件系统特别的混乱,加之应用使用不规范,对存储造成极大的滥用,外部存储空间产生大量的垃圾文件,应用卸载后仍然存在,这也催生了一系列的清理软件。
Understanding Kotlin Scope Functions
String Problems Archive
基础利器之Stack和Queue
Table Tennis Road Map
Introduction to Android Jetpack
Android Jetpack是一个由谷歌官方提供的安卓开发套件(套件是一组组件的意思),目的是帮助安卓开发者解决兼容性问题,减少重复代码,提升体验和性能,最重要的是提升开发效率。安卓以碎片化著名,不同的版本,不同的OEM厂商导致整个安卓设备碎片化严重,对App生态来说是很不友好,加之安卓本身的原因导致像流畅度,体验和性能始终逊水果不止一筹。后来谷歌推出一系列的Android SDK之外的一系列开发组件如support library来解决兼容性(App compat)和新的开发组件(RecyclerView, CardView, Pager等),后来这些东西就演变成了现在的Android Jetpack。