自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (4)
  • 收藏
  • 关注

原创 Dagger2 学习笔记 Module使用和理解

上一篇结尾说道如果有参数的调用应该是怎么来写呢?最后的报错说明一个类的构造好函数只有一个被@Inject标注前面说过@Module:@Module用于封装提供依赖的类。为什么需要专门提供这个注解,因为在很多情况下,我们需要注入的类是第三方类库,我们无法再构造函数直接加@Inject注解,还有一个问题就是如果有多个构造函数的问题,Module封装依赖就是为了解决这些问题。这里我们就需要使用Modul...

2018-06-04 18:54:26 1350

原创 Dagger2 学习笔记

最近几天在看一些新的Android技术,突然看到Dagger2这个,去github上面看了下1W+的star了,想想自己应该学习下这个东西了,要不out了。简介Dagger-匕首,鼎鼎大名的Square公司旗下又一把利刃(没错!还有一把黄油刀,唤作ButterKnife);故此给本篇取名神兵利器Dagger2。Dagger2起源于Dagger,是一款基于Java注解来实现的完全在编译阶段完成依赖注...

2018-05-25 20:18:30 246

原创 Android 静态广播和动态广播接收顺序

之前记得专门看了一下动态广播和静态广播的接收顺序,但是没想到被别人问的时候一口说错了,看来必须得理解了才能记住!  看到知乎上面有人的回答自己也就顺便看了下ActivityManagerService源码broadcastIntentLocked方法: 主要有下面几部分:1.处理粘性广播 if (sticky) { ......权限检

2016-04-15 23:05:02 1151

原创 Imageloder 源码阅读笔记

上次使用imageloader的时候出现了一个问题就是图片加载的时候回出现闪一下默认图的问题,刚开始以为是adapterd的问题,最后发现是需要cacheInMemory中才好,所以就花了点时间把源码大概看了一下。1. 要使用imgeloader首要要使用一个ImageLoaderConfiguration这个类来初始化imageLoader,这个变量主要是用来设置缓存大小,缓存策

2016-01-12 23:32:14 424

原创 android 水平进度条 背景设置问题

<ProgressBar android:id="@+id/storage_progress" style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="fill_parent" android:layout_height="w

2015-01-09 14:11:40 975

转载 Android自定义属性时TypedArray的使用方法

有时候android传统的页面布局不足以满足我们的需求,常常需要自己定义view,通常继承View,然后重写构造方法以及onDraw等函数,再具体实现自己定义的复杂view。我们知道在给控件赋属性时,通常使用的是android系统自带的属性,比如 android:layout_height="wrap_content",除此之外,我们亦可以自己定义属性,这样在使用的时候我们就可以使用形如 my

2014-09-20 12:47:32 520

转载 O(n) 求 最长回文子串

转自:http://bbs.dlut.edu.cn/bbstcon.php?board=Competition&gid=23474    其实原文说得是比较清楚的,只是英文的,我这里写一份中文的吧。    首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长。这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心的最长回文有多

2014-04-12 15:49:23 575

原创 二叉线索树,寻找前驱与后继

寻找前驱: 由二叉线索树的性质可得,当其Ltag=1时表示其lchild中保存的是前驱,否则保存的是link所以对于结点P,当p->ltag=1,则p->lchild直接表示的是前驱,否则说明他有左子树,按照中序遍历的规则,只有当左子树遍历完才遍历它,因此其前驱应该是左子树的最右下端结点。BiTNode * Inpre(BiTNode *p){ //在中序遍历中寻找前

2014-03-29 11:03:16 1213 1

原创 编程之美——寻找满足条件的整数

题目:给定一个正整数N,求一个最小的正整数M(M>1),是的M*N的十进制表示中只含有1和0,分析可以得到,满足十进制表示中只含有0和1的数:1,10,11,100,101,110,111……所以可以依次用这些数做测试代码来自:点击打开链接#define _CRT_SECURE_NO_WARNINGS 1#include #include using

2014-03-27 19:04:23 669

原创 给定一个任意的10进制数N,从1开始到N,计算所有数中1出现的次数

首先可以对分别对1位数,2位数,3位数,每一位出现1的个数,分别寻找规律,通过仔细查看可以看到,每位1的个数与当前位上的数有关系,并且与他高位的数有关系,低位的数也有关系。具体如下:   假设N(个,十,百,千……)位上的数字为0,那么N位上为1的个数为其高位的数字乘以当前的位(个,十,百,千,万……)     假设N(个,十,百,千……)位上的数字为1,那么N位上

2014-03-24 17:17:00 810

原创 编程之美——发帖水王

问题是,在论坛上一个人非常喜欢发帖,且他发的帖子数目超过了帖子总数的一半,要想快速的找出这个ID,怎么办? 首先可以先把所有帖子按ID进行排序,把排序结果存进数组里面,然后直接索引N/2即可得到那个ID。时间复杂度是n*logn.还可以从另外一个角度来看这个题,因为他的帖子数目超过了总数的一半,因此,每次删除两个不同的ID,最后剩下的一定是那个人的ID。 这里主

2014-03-24 10:20:28 662

原创 求N!的二进制表示中最低位1的位置

判断一个二进制中最后一位是否为0,可以把这个二进制除以2,如果结果为0则把这个数向右移动了一位,否则说明这个数最后一位为1,无法整除2,。所以这个问题可以变为N!中质因数2个个数,一个二相当于使其向左移动一位,非2的倍数相乘最后一位是1不变,因此只要判断里面质因数2的个数就可以了,其他不用管。而N!中    1~N中能被2整除的N/2,能被4整除的N/4,能被8整除

2014-03-24 09:34:05 1125

转载 编程之美————24点游戏算法

一,概述        二十四点是一种益智游戏,它能在游戏中锻炼人们的心算,它往往要求人们将四个数字进行加减乘除(允许使用括号)求得二十四。然后将四个数字的计算公式表示出来。二,中缀表达式求解         最直接的方法就是采用穷举法,游戏中可用的运算符只有四种,四个数字每个只能使用一次。         1)不考虑括号情况         

2014-03-20 17:04:58 1686

原创 C语言三角函数使用时注意用的是弧度而不是角度

这次做开发用C语言写三角函数时,通过反三角函数一直得到的角度是0,原来C语言这里使用的是弧度而不是角度            角度转弧度: 360°=2π记录下来,防止再犯

2013-07-21 05:30:21 8732

转载 短语、直接短语、句柄、素短语

短语、直接短语、句柄、素短语、以此为例子:先画出语法树,例:               S       /       |        \     (         T         )          /     |     \        T      d      S    /    |   \           |

2013-07-02 10:18:34 6294 4

原创 第八章——线性时间排序

这章刚开始证明了基于比较的排序的算法在最坏情况下,都需要做nlgn次比较。由此可以推出合并排序快速排序都是渐进最优的比较排序算法。线性时间排序:1.计数排序计数排序假设N个输入元素中的每一个都是介于0~k之间的整数,此处K为某个整数。当k=O(n)时,计数排序的运行时间为O(n)。计数排序的思想是对每个元素x找出小于x的元素个数,有了这个信息最后把它直接插入到最终输

2013-06-24 19:01:13 629

原创 已知二叉树的先序和中序遍历,求后序遍历及二叉树

遇到这个问题自己,没有合适的方法就搜了下,记录下这个方法可以快速解决这个问题: 假设给定一个二叉树的先序遍历为A,B,D,E,G,C,F,H,I,J,中序遍历结果为D,B,G,E,A,H,F,I,J,C 求其后序遍历,并画出二叉树。 (1)首先由先序遍历可得到A为根 (2)由于A是根节点,所以可以将中序遍历分割成2部分 A的左边:D,B,G,E

2013-06-22 19:39:59 1418

原创 第七章--快速排序

快速排序也是基于分治策略的,每步确定一个元素把他放到合适的位置,使它之前的都小于他使它之后的都大于它,然后继续对其进行递归调用,当最后只有一个元素时就是有序的:实现代码:// quickSort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;#define MAX 10vo

2013-06-16 19:33:42 601

原创 第六章--堆排序

首先是构造最大堆(最小堆,排序结果刚好相反具体有一些改动)书中证明了从第N/2开始即可构造出最大堆void max_heap(int a[],int i){ int l=2*i+1,r=2*i+2,largest; if(la[i])//在左右子节点和本身中找到最大的作为跟节点 { largest=l; } else { largest=i; } if(ra[larges

2013-06-16 11:30:05 537

原创 SQL语句记录

前几天用C#写一个窗体程序,SQL语句出现问题记录下来吧。C#SQL插入语句示例:   string str="insert into [user]([ID],[username],[password])     values(25,'"+name+"','"+password+"')";前面写过PHP的SQL语句也出现过问题趁现在记得找 出来记录下:插入语句:

2013-06-16 09:15:20 620

原创 第五章——《概率分析与随机算法》

这章看得稀里糊涂的,自己感觉没弄懂,去网上看了看别人写的博客。觉得人家写的很好,自己看着有点豁然开朗的感觉。下面我附上人家的链接地址: 点击打开链接我自己也就按着人家的思路写写吧,主要算是让自己能够更好的理解这里的内容这一章是是从雇佣问题开始的:假设要雇佣一名新的助理,然后要面试每个人要花费一笔费用,雇佣助理要话更多的钱,假设当前你面试的应聘者比当前助理优秀,你

2013-06-12 16:21:42 774

原创 第四章--递归式

刚开始看这一章自己还是很难定下心来看的,这章感觉关于数学的推导和证明比较多,自己数学这方面又不是很感兴趣,但是还是慢慢的啃完了这章,针对解递归的是三种方法,自己觉得目前还是主方法比较有用吧,也比较 好用。对代换法和递归树法,感觉有点抽象,还需要以后更多的经验再来看看吧。代换法:首先我们要猜测一个界的存在,然后用的是数学归纳法去证明该猜测的正确性。特点:代换法当归纳假设用较小

2013-06-09 21:01:29 808

原创 《算法导论》学习笔记

都大三了,才谈学习,虽然现在有点晚了,自己大学就这大三过的还算忙忙碌碌,有点收获,其他都已经逝去了,马上就要找工作了,自己虽然对数学这方面不太感兴趣,但是一直觉得算法才是编程的精华,一直想学习,现在就趁这段时间,从算法导论学起,开始我的算法学习之路吧。以前一直觉得把时间花在写这些东西上面实在有点浪费时间,但是慢慢觉得,还是老话说的好,好记性不如烂笔头,自己本来记忆力就一般,想了想 还是写下自己

2013-06-08 12:10:59 584

NRF驱动程序

KEIL4.0下写的用SPI驱动NRF24L01的驱动程序,有接收端和发送端的程序,有详细注释

2013-11-03

C语言深度剖析

C语言的精华所在,告诉你不知道的事,深入学习C的本质

2013-10-30

高质量C/C++编程指南(pdf)

高质量C/C++C编程指南,快速提高编程指南,C程序员必读

2013-10-28

算法导论第二版(PDF)

算法导论最经典的版本第二版,高清版,适合研究

2013-10-28

空空如也

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

TA关注的人

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