<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/baipu1897</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; baipu1897]]></copyright><item><title><![CDATA[【练习】写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能：在字符串中找出连续最长的数字串，并把这个串的长度返回，...]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407736</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407736</guid><author>baipu1897</author><pubDate>Tue, 28 Aug 2012 16:22:00 +0800</pubDate><description><![CDATA[/************************************************************************/
/* 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能：
在字符串中找出连续最长的数字串，并把这个串的长度返回，
并把这个最长数字串付给其中一个函数参数out...]]></description><category></category></item><item><title><![CDATA[在一个字符串中找到第一个只出现一次的字符。]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407731</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407731</guid><author>baipu1897</author><pubDate>Sat, 25 Aug 2012 10:40:00 +0800</pubDate><description><![CDATA[题目：在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff，则输出b。 分析：这道题是2006年google的一道笔试题。
 看到这道题时，最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较，如果在后面没有发现重复的字符，则该字符就是只出现一次的字符。如果字符串有n个字符，每个字符可能与后面的O(n)个字符相比较，...]]></description><category></category></item><item><title><![CDATA[题目：输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数，使得它们的和正好是输入的那个数字。...]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407735</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407735</guid><author>baipu1897</author><pubDate>Fri, 24 Aug 2012 20:12:00 +0800</pubDate><description><![CDATA[要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字M，输出任意一对即可。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15，因此输出4和11。
思路：
（1）让指针指向数组的头部和尾部，相加，如果小于M，则增大头指针，如果大于则减小尾指针
（2）退出的条件，相等或者头部=尾部
算法：
void function（int a[],int n,int M）...]]></description><category></category></item><item><title><![CDATA[求1+2+…+n]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407729</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407729</guid><author>baipu1897</author><pubDate>Fri, 24 Aug 2012 19:54:00 +0800</pubDate><description><![CDATA[题目：求1+2+…+n，要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句（A?B:C）。
#include&lt;iostream&gt;using namespace std;int mySum(int n){int temp=0;(!!n) &amp;&amp; (temp=mySum(n-1));//n=0时，第一个条件为...]]></description><category></category></item><item><title><![CDATA[翻转句子中单词的顺序]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407734</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407734</guid><author>baipu1897</author><pubDate>Fri, 24 Aug 2012 17:09:00 +0800</pubDate><description><![CDATA[题目：输入一个英文句子，翻转句子中单词的顺序，但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见，标点符号和普通字母一样处理。例如输入“I am a student.”，则输出“student. a am I”。分析：由于编写字符串相关代码能够反映程序员的编程能力和编程习惯，与字符串相关的问题一直是程序员笔试、面试题的热门题目。本题也曾多次受到包括微软在内的大量公司的青睐。由于本...]]></description><category></category></item><item><title><![CDATA[判断整数序列是不是二元查找树的后序遍历结果]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407727</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407727</guid><author>baipu1897</author><pubDate>Fri, 24 Aug 2012 16:44:00 +0800</pubDate><description><![CDATA[题目：输入一个整数数组，判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true，否则返回false。 例如输入5、7、6、9、11、10、8，由于这一整数序列是如下树的后序遍历结果： 8 / \ 6 10 / \ / \ 5 7 9 11因此返回true。如果输入7、4、...]]></description><category></category></item><item><title><![CDATA[判断链表是否有环]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407732</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407732</guid><author>baipu1897</author><pubDate>Fri, 24 Aug 2012 15:58:00 +0800</pubDate><description><![CDATA[int isLoop(LinkList *L){	LinkList *fast,*slow;	fast=slow=L;	while (fast!=NULL&amp;&amp;fast-&gt;next!=NULL)	{		fast=fast-&gt;next-&gt;next;		slow=slow-&gt;next;		if (fast==slow)		{			return 1;		}...]]></description><category></category></item><item><title><![CDATA[查找最小的k个元素]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407725</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407725</guid><author>baipu1897</author><pubDate>Fri, 24 Aug 2012 15:08:00 +0800</pubDate><description><![CDATA[题目：
输入n 个整数，输出其中最小的 k 个。例如输入 1 ， 2 ， 3 ， 4 ， 5 ， 6 ， 7 ，8 这 8 个数字，则最小的 4 个数字为 1 ， 2 ， 3 和 4 。
分析：
本题最简单也最容易想到的解决方法就是把输入的n个整数排序了。当然，排序也有好多种方法，是选择排序、插入排序、快速排序还是堆排序？如果是堆排序还要分为是用大根堆还是小根堆？首...]]></description><category></category></item><item><title><![CDATA[求子数组的最大和]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407723</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407723</guid><author>baipu1897</author><pubDate>Fri, 24 Aug 2012 15:04:00 +0800</pubDate><description><![CDATA[题目：输入一个整形数组，数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组，每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如：输入的数组为1, -2, 3, 10, -4, 7, 2, -5，那么和最大的子数组为3, 10, -4, 7, 2，因此输出为该子数组的和18。
分析：因为是O(N)的复杂度，因此需采用的DP的思想，记录下当前元素...]]></description><category></category></item><item><title><![CDATA[【面试题】在二元树中找出和为某一值的所有路径]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407730</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407730</guid><author>baipu1897</author><pubDate>Fri, 24 Aug 2012 14:59:00 +0800</pubDate><description><![CDATA[题目：在二元树中找出和为某一值的所有路径
输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。
打印出和与输入整数相等的所有路径。
例如输入整数22 和如下二元树
          10
        / \
       5  12
      / \
     4   7
则打印出两条路径：10, 12 和10, 5, 7...]]></description><category></category></item><item><title><![CDATA[【转帖】设计包含min函数的栈]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407728</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407728</guid><author>baipu1897</author><pubDate>Fri, 24 Aug 2012 14:57:00 +0800</pubDate><description><![CDATA[转自：zhedahht.blog.163.com/blog/static/25411174200712895228171/
 题目：定义栈的数据结构，要求添加一个min函数，能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。
分析：这是去年google的一道面试题。
我看到这道题目时，第一反应就是每次push一个新元素时，将栈里所有逆序元素排...]]></description><category></category></item><item><title><![CDATA[【练习】把二元查找树转变成排序的双向链表]]></title><link>https://blog.youkuaiyun.com/baipu1897/article/details/101407721</link><guid>https://blog.youkuaiyun.com/baipu1897/article/details/101407721</guid><author>baipu1897</author><pubDate>Fri, 24 Aug 2012 14:55:00 +0800</pubDate><description><![CDATA[1.把二元查找树转变成排序的双向链表题目：输入一棵二元查找树，将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点，只调整指针的指向。10/ \6 14/ \ / \4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树节点的数据结构如下：struct BSTreeNode{int m_nValue; // value of nodeBS...]]></description><category></category></item></channel></rss>