自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 RecyclerView缓存机制浅析

RecyclerView缓存机制浅析 ​ RecyclerView在Android的应用上可以说已经取代了listview,其灵活,组装式设置,多缓存机制可以适应多列表在Android开发中各种各样的需求。 ​ 对于RecyclerView的缓存机制一直都想稍微的屡下思路,简单点说RecyclerView对比listview缓存机制中就是多了两层缓存的支持,listview是两级缓存,Recycl...

2019-02-19 20:44:16 554

原创 堆排序前序-堆的创建

堆排序前序-堆的创建 什么是堆: ​ 堆其实就是一个特殊的完全二叉树(什么是二叉树…完全是啥…百度一下你就知道),那么他特殊在哪里呢。 看到上图这玩意没,这就是一个堆,准确的说是个小顶堆,简单点说小顶堆就是个父节点一定小于子节点的这么一颗完全二叉树。那么大顶堆呢?那当然就是父节点一定大于子节点的这么一颗完全二叉树。 ​ 所以堆就是一个节点值总是不大于或者不小于父节点值的一颗完全二叉树。 ​ 一般...

2019-01-31 21:02:06 247

原创 排序算法->归并排序

归并排序是采用分治的思想,使用先分在归并起来的逻辑,归并排序其最吸引人的性质是它能够 保证将任意长度为N的数组排序所需时间和NLogN成正比。其主要思想是先不断递归进行二分,然后 通过合并的时候进行子数组的排序不断的合并完成排序。 测试数据 4 2 1 5 第一步 先二分数据即 [4,2] [1,5] [4] [2] [1] [5] 第二步 这是所有数据单独被划分出来了,然后开始进行合并操作,每...

2018-07-06 16:25:23 203

原创 排序算法->希尔排序

希尔排序可以看成是插入排序的优化版,其核心排序步骤与插入排序基本相同,但是唯一不同 的是希尔排序对排序数组中数据排序思想的优化。为什么要优化插入排序,由于插入排序对于 大规模乱序数组的排序是很慢的,因为在插入排序中数据元素需要一点一点的从数组一端移动 到另外一端,这无疑在大规模乱序数组中是一个不好的体验。 希尔排序基本思路: 希尔排序在选取排序数组集采用了分组插入排序的方式,其通过一个gap增量...

2018-07-03 15:47:17 439

原创 排序算法->直接插入排序

插入排序对于实际应用中常见的非随机数组非常有效,简而言之如果你的待排序数组 已经部分有序那么使用插入排序是十分高效的。 插入排序基本思路: 首先我们可以将整个数组看成两个部分即已排序区以及未排序区。而插入排序的任务则是将未排序 区数据与已排序区数据进行比较将其放置于合适的已排序区位置。在这个过程中为了给未排序数据 腾出位置,已排序区数据将会进行后移操作。直到已排序区索引到达数组最右则排序完成。 ...

2018-07-02 17:23:17 111

原创 排序算法->选择排序

选择排序是一种容易理解并且相对较为简单的排序方式,他有两个特点: 1.运行时间与输入无关:你会发现如果这个数组中数据全部相等和 元素随机排列的相同长度数组他们的排序时间是一样长的,具体原因是由于其排序思想有关, 在下文会讲解。 2.数据移动最少:每次交换都会改变两个数组元素的值,所以交换次数与数组的大小是线性关系 相对于其他排序算法都不具备这一个特性。 排序思路: 首先确定最小的...

2018-07-01 19:57:40 129

原创 对于十进制转化为任意进制数的简单算法分析

对于十进制转化为任意进制数的简单算法分析 基本思路: 对于十进制转任意进制,通常都是通过取余逆序排列法获得结果,举个简单例子10进制数1024 转2进制: 1024/2=512 余->0 512/2=256 余->0 256/2=128 余->0 128/2=64 余->0 64/2=32 余->0 32/2=16 余->0 16/2=8 余->0 8/...

2018-07-01 17:09:59 4447 1

原创 LintCode 算法(中等)最长回文子串

LintCode 算法(中等)最长回文子串 题目 给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。 样例 给出字符串 “abcdzdcab”,它的最长回文子串为 “cdzdc”。 挑战 O(n2) 时间复杂度的算法是可以接受的,如果你能用 O(n) 的算法那自然更好。 思路 由于能力有限O(n)算法实在是搞不定,而遍历所有...

2018-04-05 23:55:31 150

原创 LintCode 算法(简单)翻转字符串

题目 给定一个字符串,逐个翻转字符串中的每个单词。 样例 输入:”abc d” 输出:”d abc” 说明 单词的构成:无空格字母构成一个单词 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个 思路 根据说明首先需要忽略前导或者尾随空格,然后通过数组形式保存遍历字符串所得...

2018-03-09 14:16:40 204

原创 LintCode 算法(简单)链表求和

题目 你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。 样例 给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->null 基本思路 这道题需要考虑到大数据求和时...

2018-03-09 14:07:02 159

原创 LintCode 算法(简单)两数之和

题目给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。样例 给出 numbers = [2, 7, 11, 15], target = 9, 返回 [0, 1].挑战 Either of the following solutions are accep

2018-03-09 14:00:33 387

原创 一步步实现仿微信左滑动返回效果(二)

一步步实现仿微信左滑动返回效果(二) 本系列博文将让您学习了解到微信的左滑动返回交互式体验的实现以及基本原理 本系列博文将一步一步带领您完成此效果的具体实现方式 前言上文中带大家简单分析了一下该效果实现的基本原理,接下来我们开始一步步实现完善左滑动返回效果。 本篇博文将完成Activity之间的左滑动返回效果 基本准备1.当然是新建一个项目啦,名字还不是各位大佬开心就好。 2.建立至少三个Acti

2017-07-03 18:06:45 2541

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除