- 博客(69)
- 收藏
- 关注
转载 web.xml 中的listener、 filter、servlet 加载顺序及其详解
http://www.cnblogs.com/shenliang123/p/3344555.html在项目中总会遇到一些关于加载的优先级问题,刚刚就遇到了一个问题,由于项目中使用了quartz任务调度,quartz在web.xml中是使用listener进行监听的,使得在tomcat启动的时候能马上检查数据库查看那些任务未被按时执行,而数据库的配置信息在是在web.xml中
2016-11-01 09:59:54 341
转载 加密算法笔记
对称算法的效率高,但是密钥的传输需要另外的通道。非对称算法RSA和DH可以解决密钥的传输问题。DH密钥交换算法的作用是使通信双方可以在不安全的通道中建立一个相同的密钥,用于通信加密。基本原理:假设通信双方A和B,选定一个数g,g是可公开的1.A随机选择一个数a,a是保密的2.A计算g^a发送给B3.B随机选择一个数b,b是保密的4.B计算g^b发送给A5.A
2016-08-15 16:39:49 833
原创 Reverse Words in a String
Given an input string, reverse the string word by word.For example,Given s = "the sky is blue",return "blue is sky the".------------------------------------再次写这代码写的各种乱需要考虑到字符串的空格~!
2015-09-03 22:27:33 554
原创 Next Permutation
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
2015-09-03 19:39:58 320
转载 iOS中,在类的源文件(.m)中,@interface部分的作用?
此@interface部分为类扩展(extension)。其被设计出来就是为了解决两个问题的,其一,定义类私有方法的地方。其二,实现public readonly,private readwrite的property(意思是在h头文件中定义一个属性对外是readonly的,但在类的内部希望是可读写的,所以可以在m源文件中的@interface部分重新定义此属性为readwrite,此时此属
2015-07-09 10:17:08 389
转载 iOS 键盘收起~
eld/textView收起键盘的方法有很多,但总的来说就是释放第一响应者和结束编辑即可?12345678910111213141516171819201.最简单粗暴的,只要在 任何
2015-07-02 11:02:17 511
转载 Objective-c 代理模式(delegate)
http://blog.sina.com.cn/s/blog_797bb4bf01015t8f.html一、什么事代理模式? 代理模式是在oc中经常遇到的一种设计模式,那什么叫做代理模式呢? 举个例子:有一个婴儿,他本身不会自己吃饭和洗澡等等一些事情,于是婴儿就请了一个保姆,于是婴儿和保姆之间商定了一个协议,协议中写明了保姆需要做什么事情, 而保姆就是
2015-07-02 09:36:06 412
原创 笔记
iOS层次架构:Cocoa Touch->Media->Core services ->Core OSCocoa Touch:创建IOS应用程序所需的关键框架Media:图形技术 音频技术 和视频技术 Core Services:提供基础系统服务Core OS:底层功能是很多其它技术的构建基础 通常情况下这些功能不会直接应用于应用程序而是应用于其它框架 在编写代
2015-07-01 14:57:50 375
原创 objective-c类初始化
并不一定要要为自己的类创建初始化函数。如果不需要设置任何状态 或者alloc方法将内存清零的默认行为相当不错 则不必去在意init方法如果创建了一个指定初始化函数 则一定要在自己的指定的初始化函数中调用超类的指定初始化函数如果初始化函数不止一个 则需要选择一个指定初始化函数 被选定的初始化函数应当调用超类的指定初始化函数 要按照指定初始化函数的形式实现所有的初始化函数@proper
2015-06-30 15:57:53 488
原创 求1+2+...+n
题目:求1+2+。。+n 要求不能使用乘除法 for while if else switch case等关键字及条件判断语句 (A?B:C)思路1:定义一个类型 接着创建n个该类型的实例 那么这个类型的构造函数将确定会被调用n次将累加相关的代码放到构造函数中#include using namespace std;class Temp {private:
2015-06-16 17:10:41 488
原创 圆圈中最后剩下的数字
题目: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
2015-06-16 15:05:48 339
原创 扑克牌的顺子
题目:从扑克牌中随机抽5张牌 判断是不是一个顺子即这5张牌是不是连续的 2-10为数字本身 A为1 J为11 Q为12 K为13 而大小王可以看成任意数字思路:可以把5张牌看成由5个数字组成的数组 大小王是特殊的数字 不妨把它定义为0 接下来就是怎么判断这5个数字是否连续 可以用排序的方法由于0可以当做是任意数字 可以用0去补满数组中的孔雀 如果排序后的数组不是连续
2015-06-16 14:51:06 496
原创 n个骰子的点数
题目:把n个骰子扔在地上 所有骰子朝上一面的点数之和为s 输入n 打印出s的所有可能出现的概率思路:将n个骰子分为两堆 第一堆只有一个 另一个有n-1个 单独的那一个有6中可能 需要计算从1到6的每一种点数 和剩下的n-1个骰子 来计算点数 和 接下来把剩下的n-1个骰子还是分成两堆 第一堆只有一个 第二堆有n-2个 把上一轮单独骰子的点数和这一轮单独骰子点数相加 再和剩下的n-
2015-06-16 11:54:58 353
原创 翻转单词顺序VS左旋转字符串
题目:输入一个英文句子 翻转句子中单词的顺序 但单词内字符的顺序不变 为了简单起见 标点符号和普通字母一样处理例如“I am a student. " 则输出”student. a am I"思路:先翻转句子 再翻转句子中的每个单词 #include using namespace std;void reserve(char *start, char
2015-06-15 22:45:21 393
原创 二叉树的深度
题目:输入一颗二叉树的根结点 求该树的深度 从根结点到叶节点一次经过的节点(含根、叶结点)形成树的一条路径 最长路径为树的深度二叉树的节点定义如下:typedef struct BinaryTreeNode{int m_nValue;BinaryTreeNode* m_pLeft;BinaryTreeNode* m_pRight;};int max(int a, int b)
2015-06-15 21:01:36 390
原创 数字在排序数组中出现的次数
题目:统计一个数字在排序数组中出现的次数 列如输入排序数组{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)
2015-06-15 20:39:56 345
原创 第一个只出现一次的字符
题目:在字符串中找出第一个只出现一次的字符 如输入“abaccdeff" 则输出‘b'从前向后遍历每一个字符 然后将当前字符与后面的每个字符比较 如果发现没有重复的字符则该字符就只出现一次 时间复杂度为O(n*n)我们可以统计每个字符出现的次数 需要一个数据容器来统计每个字符的出现次数 #include #include using namespace std;i
2015-06-14 11:10:03 340
原创 丑数
题目:把只包含因子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,。
2015-06-14 11:00:45 390
转载 用qsort对字符串数组排序需要注意的几个问题
qsort是万能数组排序函数,必须要学会使用,简单的数组自然不用说,这里主要讨论一下字符串数组的使用。 首先看一下qsort的原型: void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *)); 正确使用这个函数要注意几点:1.b
2015-06-13 18:09:59 692
原创 最小的K个数
题目:输入n个整数 找出其中最小的K个数 例如输入 4 5 1 6 2 7 3 8 这8个数字 最小的4个数字是 1 2 3 4解法1:排序 算法的时间复杂度为O(nlogn)解法2:快速排序 查找第k个大的数 算法的时间复杂度为O(logn)#include #include using namespace std;int partion(int
2015-06-12 16:51:31 309
原创 数组中出现次数超过一半的数字
题目: 数组中有一个数组出现的次数超过数组长度的一半 请找出这个数字解法1:最直观的方法是对数组进行排序 如果排好序就很容易计算出每个数字出现的次数 排序的时间复杂度为O(nlogn) 解法2: 如果对这个数组排序 要找出出现次数超过数组长度一半的数字 这个输液就是长度为n的数组第n/2大的数字 即中位数 可以用快速排序的方法找出任意第K大的数字 算法复杂度为
2015-06-12 15:51:15 420
原创 字符串的排列
题目:输入一个字符串 打印出该字符串中字符的所有排列 例如输入字符串abc 则打印出由字符a、b、c所能排列出来的所有字符串打印abc 所有排列组合可以将第一位看做为a.然后分别于剩余的两位b、c进行交换得到bac bca 接着对只有两位的字符串进行交换 将第一位于剩余的位进行交换因此 递归的将第一位与其余位进行交换#include #include using
2015-06-11 14:27:28 388
原创 二叉搜索树与双向链表
题目:输入一颗二叉搜索树 将该二叉搜索树转换成一个排序的双向链表 要求不能创建任何新的结点 只能调整树中及诶单指针的指向二叉树结点定义如下:BinaryTreeNode* bulidlist(BinaryTreeNode *root){//返回的是链表的尾结点 if (root==NULL) return; if(root->m_pLeft==NULL && root->m_pR
2015-06-11 14:26:45 371
原创 二叉树中和为某一值的路径
题目:输入一颗二叉树和一个整数 打印出二叉树中结点值的和为输入整数的所有路径 从输的根节点开始往下一直到叶节点所经过的节点构成一条路径二叉树的定义如下:struct BinaryTreeNode{ int m_nValue; BinaryTreeNode *m_pLeft; BinaryTreeNode *m_pRight;};当用前序遍历方式访问到某一个结点时 我们
2015-06-11 11:20:44 370
原创 二叉搜索树的后续遍历序列
题目:输入一个整数数组 判断该数组是不是某二叉搜索树的后续遍历结果 如果是则返回true 否咋返回false 假设输入数字的任意两个数字都互不相同后序遍历是左->右->根 左数组最后一个值t为根结点的值数组中小于t的为树的左孩子 之后的应当为右孩子 且所有的右孩子大于根t 若存在不大于t的值 则表明不是二叉搜索树的后序遍历顺序然后递归判断左孩子和右孩子是
2015-06-11 11:19:41 314
原创 从上往下打印二叉树
题目:从上往下打印出二叉树的每个结点 同一层的结点按照从左到右的顺序打印从上到下从左到右即层次遍历二叉树void visit(BinaryTreeNode *root){ if(root!=NULL) { s.push(root); BinaryTreeNode *t=NULL; while(s.size()) { t=s.front();
2015-06-11 09:54:40 353
原创 栈的压入、弹出顺序
题目:输入两个整数序列 第一个序列表示栈的压入顺序 请判断二个序列是否为该栈的弹出顺序。假设压入展的所有数字均不相同 例如序列1/2/3/4/5是某栈的压栈序列 序列4、5/3/2/1 是该压栈序列对应的一个弹栈序列 但4、3、5、1、2就不是#include #include using namespace std;stack s;bool Isoroder(int *A
2015-06-10 21:07:38 347
原创 包含min函数的栈
题目:定义栈的数据结构 请在该类型中实现一个能够得到栈的最小值的min函数 在该栈中 调用min、push及pop的时间复杂度都是O(1)#include #include #include using namespace std;template struct stackmin{ stack s1; stack s2; void push(T a); void p
2015-06-10 20:42:26 284
原创 顺时针打印矩阵
题目:输入一个矩阵 按照从外向量以顺时针的顺序依次打印出每一个数字 #include using namespace std;int main(){ int n; cin>>n; int **A=(int **)malloc(sizeof(int *)*n); for(int i=0;i<n;i++) A[i]=(int *)malloc(sizeof(int )*
2015-06-10 20:40:28 359
原创 二叉树的镜像
题目:请按成一个函数 输入一个二叉树 该函数输出它的镜像二叉树结点的定义如下:struct BinaryTreeNode{ int m_nValue; BinaryTreeNode * m_pLeft; BinaryTreeNode * m_pRight;};先序遍历二叉树 如果该结点不是叶子结点 则交换其左右孩子 当交换完所有非叶子结点 就得到了镜像的二叉树
2015-06-10 17:01:04 350
原创 树的子结构
题目:输入两颗二叉树A和B 判断B是不是A的子结构 二叉树结点定义如下;首先 从树根开始遍历树如果结点与 B的根结点值相同 则继续遍历A的左子树 以及B的左子树 如果左子树相同则遍历A的右子树以及B的左子树 如果左右子树都相同则 A包含B如果结点与B的根节点值不同 则遍历到A的左孩子 重复上述判断做孩子是否含有B 如果左子树不含有B 则遍历到A的右子树 判断其是否含有B
2015-06-10 16:48:40 333
原创 合并两个排序的链表
题目:输入两个递增排序的链表 合并这两个链表并使心里暗标中的结点仍然是按照递增的排序 链表结点的定义如下:struct ListNode{int m_nValue;ListNode *m_pNext;};#include using namespace std;struct ListNode{int m_nValue;ListNode *
2015-06-10 16:04:23 448
原创 反转链表
题目:定义一个函数 输入一个链表的头结点 翻转该链表并输出翻转后链表的头结点 链表定义如下struct ListNode{int m_nValue;ListNode *m_pNext;}ListNode*reserve(ListNode *Lhead){ if(Lhead==NULL) { throw std::exception("Error ~!");
2015-06-10 15:21:49 301
原创 链表中倒数第K个结点
题目:输入一个链表 输出该链表中倒数第K个结点 从1开始计数 即链表的尾结点是倒数第1个结点 如一个链表有6个结点从头结点开始他们的值一次为1 2 3 4 5 6 这个链表的倒数第3个结点值为4链表结点定义如下:struct ListNode{int m_nValue;ListNode *m_pNext;};-----------------
2015-06-09 18:29:20 268
原创 调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组 实现一个函数用来调整该数组中数字的顺序 使得所有奇数位于数组的前半部分 偶数位于数组的后半部分#include using namespace std;void exchange(int *a,int n){ int low=0; int high=n-1; int t=0; if(a==NULL || n==0) throw std::exc
2015-06-09 16:44:54 332
原创 打印1到最大的n位数
题目:输入数字n 按顺序打印出从1最大的n为十进制数 比如输入3 则打印出1 2 3 一直到最大的3位数即999考虑到大数 应当使用字符串打印数字 何时打印停止 可以使用strcmp与n位最大的数9999...9比较 但每次比较时间复杂度为O(N)只有999....9加1时高位才会产生进位 因此可以判断最高位是否有进位来控制打印停止bool isov
2015-06-09 16:14:44 378
原创 数值的整数次方
题目:实现函数double power(double base,int exponent),求base的exponent次方 不得使用库函数 同时不需要考虑大数问题考虑到base 为0 或者指数为0时 无意义base为1时返回base 指数为负数时返回 倒数 bool equal(double n1,double n2)//浮点数比较大小~~~~{ if(abs(n1-n2)
2015-06-09 11:00:48 319
原创 斐波那契数列
题目:写一个函数 输入n 求斐波那契数列的第n项 斐波那契数列定义如下: f(n)=0 n=0f(n)=1 n=1f(n)=f(n-1)+f(n-2) n>1
2015-06-09 10:15:00 448
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人