<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Fivesplus的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Fivesplus</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Fivesplus]]></copyright><item><title><![CDATA[web.xml 中的listener、 filter、servlet 加载顺序及其详解]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/52993161</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/52993161</guid><author>Fivesplus</author><pubDate>Tue, 01 Nov 2016 09:59:54 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/shenliang123/p/3344555.html





在项目中总会遇到一些关于加载的优先级问题，刚刚就遇到了一个问题，由于项目中使用了quartz任务调度，quartz在web.xml中是使用listener进行监听的,使得在tomcat启动的时候能马上检查数据库查看那些任务未被按时执行，而数据库的配置信息在是在web.xml中]]></description><category></category></item><item><title><![CDATA[加密算法笔记]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/52210409</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/52210409</guid><author>Fivesplus</author><pubDate>Mon, 15 Aug 2016 16:39:49 +0800</pubDate><description><![CDATA[对称算法的效率高，但是密钥的传输需要另外的通道。非对称算法RSA和DH可以解决密钥的传输问题。


DH密钥交换算法的作用是使通信双方可以在不安全的通道中建立一个相同的密钥，用于通信加密。
基本原理：
假设通信双方A和B，选定一个数g，g是可公开的
1.A随机选择一个数a，a是保密的
2.A计算g^a发送给B
3.B随机选择一个数b，b是保密的
4.B计算g^b发送给A
5.A]]></description><category></category></item><item><title><![CDATA[Reverse Words in a String]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/48199067</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/48199067</guid><author>Fivesplus</author><pubDate>Thu, 03 Sep 2015 22:27:33 +0800</pubDate><description><![CDATA[Given an input string, reverse the string word by word.

For example,
Given s = "the sky is blue",

return "blue is sky the".


------------------------------------
再次写这代码写的各种乱
需要考虑到字符串的空格~！]]></description><category></category></item><item><title><![CDATA[Next Permutation]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/48196943</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/48196943</guid><author>Fivesplus</author><pubDate>Thu, 03 Sep 2015 19:39:58 +0800</pubDate><description><![CDATA[Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.

If such arrangement is not possible, it must rearrange it as the lowest possible]]></description><category></category></item><item><title><![CDATA[iOS中，在类的源文件(.m)中，@interface部分的作用？]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46813235</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46813235</guid><author>Fivesplus</author><pubDate>Thu, 09 Jul 2015 10:17:08 +0800</pubDate><description><![CDATA[此@interface部分为类扩展（extension）。

其被设计出来就是为了解决两个问题的，其一，定义类私有方法的地方。其二，实现public readonly,private readwrite的property（意思是在h头文件中定义一个属性对外是readonly的，但在类的内部希望是可读写的，所以可以在m源文件中的@interface部分重新定义此属性为readwrite，此时此属]]></description><category></category></item><item><title><![CDATA[iOS 键盘收起～]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46723809</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46723809</guid><author>Fivesplus</author><pubDate>Thu, 02 Jul 2015 11:02:17 +0800</pubDate><description><![CDATA[eld/textView收起键盘的方法有很多,但总的来说就是释放第一响应者和结束编辑即可



?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20




1.最简单粗暴的,只要在
 任何]]></description><category></category></item><item><title><![CDATA[Objective-c 代理模式（delegate）]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46722343</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46722343</guid><author>Fivesplus</author><pubDate>Thu, 02 Jul 2015 09:36:06 +0800</pubDate><description><![CDATA[http://blog.sina.com.cn/s/blog_797bb4bf01015t8f.html





一、什么事代理模式？

        代理模式是在oc中经常遇到的一种设计模式，那什么叫做代理模式呢？ 举个例子：有一个婴儿，他本身不会自己吃饭和洗澡等等一些事情，于是婴儿就请了一个保姆，于是婴儿和保姆之间商定了一个协议，协议中写明了保姆需要做什么事情， 而保姆就是]]></description><category></category></item><item><title><![CDATA[笔记]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46709507</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46709507</guid><author>Fivesplus</author><pubDate>Wed, 01 Jul 2015 14:57:50 +0800</pubDate><description><![CDATA[iOS层次架构：


Cocoa Touch－>Media->Core services ->Core OS
Cocoa Touch：创建IOS应用程序所需的关键框架
Media：图形技术 音频技术 和视频技术 
Core Services:提供基础系统服务
Core OS：底层功能是很多其它技术的构建基础 通常情况下这些功能不会直接应用于应用程序
而是应用于其它框架 
在编写代]]></description><category></category></item><item><title><![CDATA[objective-c类初始化]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46692175</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46692175</guid><author>Fivesplus</author><pubDate>Tue, 30 Jun 2015 15:57:53 +0800</pubDate><description><![CDATA[并不一定要要为自己的类创建初始化函数。如果不需要设置任何状态 或者alloc方法将内存清零的默认行为相当不错 则不必去在意init方法
如果创建了一个指定初始化函数 则一定要在自己的指定的初始化函数中调用超类的指定初始化函数
如果初始化函数不止一个 则需要选择一个指定初始化函数 被选定的初始化函数应当调用超类的指定初始化函数 
要按照指定初始化函数的形式实现所有的初始化函数
@proper]]></description><category></category></item><item><title><![CDATA[求1+2+...+n]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46519971</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46519971</guid><author>Fivesplus</author><pubDate>Tue, 16 Jun 2015 17:10:41 +0800</pubDate><description><![CDATA[题目：求1+2+。。+n 要求不能使用乘除法 for while if else switch case等关键字及条件判断语句 （A?B：C)


思路1：
定义一个类型 接着创建n个该类型的实例 那么这个类型的构造函数将确定会被调用n次
将累加相关的代码放到构造函数中


#include 
using namespace std;
class Temp {
private:
	]]></description><category></category></item><item><title><![CDATA[圆圈中最后剩下的数字]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46518437</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46518437</guid><author>Fivesplus</author><pubDate>Tue, 16 Jun 2015 15:05:48 +0800</pubDate><description><![CDATA[题目：0.1....n-1这n个数字排成一个圆圈 从数字0开始每次从这个圆圈里删除第m个数字 求出这个圆圈里剩下的最后一个数字




int lastnum( int n, int m)
{
	if (n < 1 || m < 1)
		return false;
	list Listnum;
	for (int i = 0;i < n;i++)
		Listnum.push_back]]></description><category></category></item><item><title><![CDATA[扑克牌的顺子]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46516479</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46516479</guid><author>Fivesplus</author><pubDate>Tue, 16 Jun 2015 14:51:06 +0800</pubDate><description><![CDATA[题目：从扑克牌中随机抽5张牌 判断是不是一个顺子
即这5张牌是不是连续的 2-10为数字本身 A为1 J为11 Q为12 K为13 而大小王可以看成任意数字


思路：可以把5张牌看成由5个数字组成的数组 大小王是特殊的数字 不妨把它定义为0 
接下来就是怎么判断这5个数字是否连续 可以用排序的方法


由于0可以当做是任意数字 可以用0去补满数组中的孔雀 如果排序后的数组不是连续]]></description><category></category></item><item><title><![CDATA[n个骰子的点数]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46514265</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46514265</guid><author>Fivesplus</author><pubDate>Tue, 16 Jun 2015 11:54:58 +0800</pubDate><description><![CDATA[题目：把n个骰子扔在地上 所有骰子朝上一面的点数之和为s 输入n 打印出s的所有可能出现的概率


思路：将n个骰子分为两堆  第一堆只有一个 另一个有n-1个 单独的那一个有6中可能 需要计算从1到6的每一种点数 和剩下的n-1个
骰子 来计算点数 和 接下来把剩下的n-1个骰子还是分成两堆 第一堆只有一个 第二堆有n-2个 把上一轮单独骰子的点数和这一轮单独骰子点数相加 再和剩下的n-]]></description><category></category></item><item><title><![CDATA[翻转单词顺序VS左旋转字符串]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46509193</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46509193</guid><author>Fivesplus</author><pubDate>Mon, 15 Jun 2015 22:45:21 +0800</pubDate><description><![CDATA[题目：输入一个英文句子 翻转句子中单词的顺序 但单词内字符的顺序不变 为了简单起见 标点符号和普通字母一样处理
例如“I am a student. " 则输出”student. a am I"


思路：先翻转句子 再翻转句子中的每个单词 






#include 
using namespace std;
void reserve(char *start, char]]></description><category></category></item><item><title><![CDATA[二叉树的深度]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46507767</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46507767</guid><author>Fivesplus</author><pubDate>Mon, 15 Jun 2015 21:01:36 +0800</pubDate><description><![CDATA[题目：输入一颗二叉树的根结点 求该树的深度  从根结点到叶节点一次经过的节点（含根、叶结点）形成树的一条路径 最长路径为树的深度
二叉树的节点定义如下：
typedef struct BinaryTreeNode
{
int m_nValue;
BinaryTreeNode* m_pLeft;
BinaryTreeNode* m_pRight;
};
int max(int a, int b)]]></description><category></category></item><item><title><![CDATA[数字在排序数组中出现的次数]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46507347</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46507347</guid><author>Fivesplus</author><pubDate>Mon, 15 Jun 2015 20:39:56 +0800</pubDate><description><![CDATA[题目：统计一个数字在排序数组中出现的次数 列如输入排序数组{1 2 3 3 3 3 4 5}和数字3 输出4


排序数组  可以用二分查找 查找输入的数字在数组中第一次出现的位置以及最后一次出现的位置




#include 
using namespace std;
int find1(int *A, int a, int b, int num)
{
	if (a > b)
]]></description><category></category></item><item><title><![CDATA[第一个只出现一次的字符]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46489965</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46489965</guid><author>Fivesplus</author><pubDate>Sun, 14 Jun 2015 11:10:03 +0800</pubDate><description><![CDATA[题目：在字符串中找出第一个只出现一次的字符 如输入“abaccdeff" 则输出‘b'


从前向后遍历每一个字符 然后将当前字符与后面的每个字符比较 如果发现没有重复的字符则该字符就只出现一次 时间复杂度为O（n*n)


我们可以统计每个字符出现的次数 需要一个数据容器来统计每个字符的出现次数 
#include 
#include 
using namespace std;
i]]></description><category></category></item><item><title><![CDATA[丑数]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46489897</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46489897</guid><author>Fivesplus</author><pubDate>Sun, 14 Jun 2015 11:00:45 +0800</pubDate><description><![CDATA[题目：把只包含因子2、3和5的数称作丑数 求按从小到大的顺序的第1500个丑数
（第一个丑数为1）
从1 开始遍历 每一个数 若n因式分解只包含2、3、5这三个因子，即使n%2 n%3 n%5最后余数为0 则说明n为丑数
这样做会导致1500个丑数之前的每个数都需要遍历
---------------------------------
分析：第一个丑数为1 接着为2,3,4,5,6，。]]></description><category></category></item><item><title><![CDATA[用qsort对字符串数组排序需要注意的几个问题]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46484089</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46484089</guid><author>Fivesplus</author><pubDate>Sat, 13 Jun 2015 18:09:59 +0800</pubDate><description><![CDATA[qsort是万能数组排序函数，必须要学会使用，简单的数组自然不用说，这里主要讨论一下字符串数组的使用。

  首先看一下qsort的原型：

    
void qsort(void *base, size_t nmemb, size_t size, 
int(*compar)(const void *, const void *));

  正确使用这个函数要注意几点：
1.b]]></description><category></category></item><item><title><![CDATA[把数组排成最小的数]]></title><link>https://blog.youkuaiyun.com/Fivesplus/article/details/46483521</link><guid>https://blog.youkuaiyun.com/Fivesplus/article/details/46483521</guid><author>Fivesplus</author><pubDate>Sat, 13 Jun 2015 18:03:55 +0800</pubDate><description><![CDATA[题目：输入一个正整数数组  把]]></description><category></category></item></channel></rss>