摘要: 排序Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 28373Accepted Submission(s): 7854Problem Description输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。Input输入包含多组 阅读全文
posted @ 2013-09-25 23:04 dancingrain 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 网上发现一些很好的学习资料,这里做一下笔记:http://www.cnblogs.com/findingsea/archive/2012/08/27/2654549.htmlhttp://www.wxx3g.com/articles/871.htmlhttps://github.com/andycai/flash-game-development/blob/master/14.md下面是一个相当全面的命令集合http://www.worldhello.net/gotgithub/index.html 阅读全文
posted @ 2013-09-02 13:17 dancingrain 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 给定一个单链表,判断其中是否有环,已经是一个比较老同时也是比较经典的问题,在网上搜集了一些资料,然后总结一下大概可以涉及到的问题,以及相应的解法。首先,关于单链表中的环,一般涉及到一下问题:1.给一个单链表,判断其中是否有环的存在;2.如果存在环,找出环的入口点;3.如果存在环,求出环上节点的个数;4.如果存在环,求出链表的长度;5.如果存在环,求出环上距离任意一个节点最远的点(对面节点);6.(扩展)如何判断两个无环链表是否相交;7.(扩展)如果相交,求出第一个相交的节点;下面,我将针对上面这七个问题一一给出解释和相应的代码。1.判断时候有环(链表头指针为head)对于这个问题我们可以采用“ 阅读全文
posted @ 2013-08-30 14:46 dancingrain 阅读(41449) 评论(3) 推荐(7) 编辑
摘要: 转载自:http://www.cppblog.com/xyjzsh/archive/2010/11/24/134516.html个人觉得写得很好,转载作为备忘,同时也分享给大家!在C++中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时,我们可能用for和while要多一些,do...while相对不受重视。 但是,最近在读我们项目的代码时,却发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。1. do...while(0)消除goto语句。通常,如果在一个函数中开始要分配一些资源,然后在中途执行过 阅读全文
posted @ 2013-08-26 09:19 dancingrain 阅读(215) 评论(0) 推荐(0) 编辑
摘要: KMP算法的原理,这里我不写,建议参考:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.htmlhttp://blog.csdn.net/v_JULY_v/article/details/6545192http://blog.csdn.net/joylnwang/article/details/6778316这篇博客写的非常好,以本人的能力只能写出更烂的解释 .....所以就不再多此一举了,下面仅仅给出两段代码,分别用C++和Python写的(都已经编译通过),希望能对大家有 阅读全文
posted @ 2013-07-03 15:22 dancingrain 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 写了两个函数,分别借助不同的函数实现,代码的逻辑很简单:#include #include #include //strtok #include #include using namespace std; //实现将一个字符串按照分隔符划分成单词 /* *思路: *每一个单词的开头也就是第一个非空格的位置,用start = find_first_not_of(' ', end)来得到 *每一个单词的结尾就是从start开始的第一个空格的前一个位置用end = find_first(' ', start)来得到 */ vector split(const stri 阅读全文
posted @ 2013-06-27 09:11 dancingrain 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 下面是本人写的一个小函数,用来删除string中前面和后面的空格,逻辑很简单,不做多的解释 ....#include #include using namespace std; string& removeSpace(string& srcStr) { srcStr.erase(srcStr.begin(), srcStr.begin() + srcStr.find_first_not_of(" ")) ; //删除前面的空格 srcStr.erase(srcStr.begin() + srcStr.find_last_not_of(" " 阅读全文
posted @ 2013-06-25 16:54 dancingrain 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 参考连接:http://docs.python.org/2/tutorial/classes.html http://www.pythonclub.org/python-class/private http://blog.csdn.net/mafuli007/article/details/7777641在学习Python的过程中发下,它把类(class)中所有的成员函数和成员变量都看做是"Public"的,作为C++出身的程序员们可能就不习惯了。Python的官方教程中如是说:““Private” instance variables that cannot be acc 阅读全文
posted @ 2013-06-22 19:29 dancingrain 阅读(3112) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.cppblog.com/goodwin/archive/2011/08/08/152797.html理解红黑树树型结构一直是一种很重要的数据结构, 我们知道二叉查找树BST提供了一种快速查找, 插入的数据结构. 相比散列表来说BST占用空间更小,对于数据量较大和空间要求较高的场合, BST就显得大有用处了.BST的大部分操作平均运行时间为O(logN), 但是如果树是含N个结点的线性链,则最坏情况运行时间会变为O(N). 为了避免出现最坏情况我们给它增加一些平衡条件, 使它的高度最多为2log(N+1), 最坏情况下运行是间花费也接近O(logN), 这就是我下面要 阅读全文
posted @ 2013-03-31 20:52 dancingrain 阅读(338) 评论(1) 推荐(0) 编辑
摘要: 参考书籍:《Effective C++ 》《C++ Primer》《C++ 编程思想》上下册算来已经好久没有写博客了,周末抽点时间记录下最近学习的一个小问题吧。一直在使用C++写个小实验,以前没有写过特别大的工程,也很少会考虑到使用和不使用#define这个宏的好处和有点,最多也就是知道它是在预处理时期“盲目替换”代码的,因此不会牵涉到函数调用也就更不会有函数调用带来的堆栈开销。今天稍微详细了解了一下,所以几记录下来:首先,简单罗列一下#define的优点和好处:#define不分配内存,它是预编译命令,编译之前进行宏替换;使用带参数的#define可以完成类似于函数调用的功能,而不用付出函数 阅读全文
posted @ 2013-03-31 17:27 dancingrain 阅读(224) 评论(0) 推荐(0) 编辑