通常基于递归实现的代码比基于循环实现的代码要简洁很多比如 二叉树遍历以及
二叉树的许多操作递归由于是函数调用自身,每一次函数调用,都需要在内存栈中分配空间以保存参数、返回地址以及临时变量而每个进程的栈容量是有限的,当递归调用的层级太多时,就会导致
调用栈溢出递归有时伴随大量重复的计算, 二叉树遍历的...
分类:
其他好文 时间:
2014-06-11 07:31:55
阅读次数:
187
题目:Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome partitioning of s.
解题思路:
回文划分,题目意思是给一个字符串,找出将字符串划分为一系列回文子串的各种可能组合。例如,一个子串“aab“,你需要返回["aa","b"],["a","a","b"]。这个题目的解法也是非常的典型---循环加递归,...
分类:
其他好文 时间:
2014-06-09 23:24:11
阅读次数:
256
@前面的文章讲到,在Block中用到self(self特指UIViewController),需要用__block或者__weak修饰(MRC与ARC的区别),因为Block调用会对其里面的对象引用计数加1,如果你不确定你调用的Block是否会产生循环引用的话,最好用__block或__weak修饰.当然,如果你确定并不会产生循环引用的情况,那你可以放心的self. self. (~O(∩_∩)...
分类:
其他好文 时间:
2014-06-08 16:34:27
阅读次数:
215
题目:For example, given s = "aab",
Return 1 since the palindrome partitioning ["aa","b"] could be produced using 1 cut
解题思路:给一个字符串,如果字符串可以划分成若干子回文字符串,返回最小的划分数量。
这个题如果还用之前求所有划分组合的循环加递归方法的话,就会得到超时的错误。这是就要考虑别的方法,动态规划倒是一个不错的方法,但是动态规划最重要的是要找到动态方程。本题的动态方程:
dp[i] =...
分类:
其他好文 时间:
2014-06-08 14:56:58
阅读次数:
257
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
输入样例:
0.01
输出样例:
3.132157
#include
#include
using namespace std;
int main() {
...
分类:
其他好文 时间:
2014-06-08 10:39:26
阅读次数:
250
循环节
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
X最近爱上了一种奇怪的游戏,就是找出一个字符串中的最小循环节。
对于最小循环节的定义:对于字符串A存在字串B,使得A是由N个完整的B组成的,那么B就是A的一个循环节,长度最小的那一个为最小循环节。
输入
多组输入。
每组输入一个字符...
分类:
其他好文 时间:
2014-06-08 09:55:32
阅读次数:
174
Java集合02----LinkedList的遍历方式及应用
前面已经学习了ArrayList的源码,为了学以致用,故列举一些ArrayList的遍历方式及应用。JDK源码学习系列05----LinkedList
1.LinkedList的遍历方式
a.一般的for循环(随机访问)
int size = list.size();
for (int i=0; i<size; i...
分类:
编程语言 时间:
2014-06-08 09:24:51
阅读次数:
290
Android消息队列模型Thread,Handler,Looper,Massage
QueueAndroid系统的消息队列和消息循环都是针对具体线程的,一个线程可以存在(当然也可以不存在)一个消息队列(Message
Queue)和一个消息循环(Looper)。Android中除了UI线程(主线程...
分类:
移动开发 时间:
2014-06-08 06:47:00
阅读次数:
277
1,循环参照A有个属性参照B,B有个属性参照A,如果都是strong参照的话,两个对象都无法释放。这种问题常发生于把delegate声明为strong属性了。例,@interface
SampleViewController@property (nonatomic, strong) SampleCl...
分类:
其他好文 时间:
2014-06-07 23:40:44
阅读次数:
366
1 //break是结束整个循环体,退出了整个while循环 2 3 int x = 0; 4
while (x++ < 10) 5 { 6 if (x == 3) 7...
分类:
其他好文 时间:
2014-06-07 16:53:19
阅读次数:
190