<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[I'am GongQi.]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/passeddust</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; passeddust]]></copyright><item><title><![CDATA[找出数组中两个只出现一次的数字]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84233954</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84233954</guid><author>passeddust</author><pubDate>Wed, 13 Jun 2012 21:50:32 +0800</pubDate><description><![CDATA[转载，原文地址[url]http://blog.youkuaiyun.com/tulun/article/details/6792860[/url]
一个整型数组里除了两个数字之外，其它的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是o(n)，空间复杂度是o(1)。

要求：首先阐述主要思路,然后编写代码实现。

（盛大笔试题）

考虑过程：

首先我们考虑这个问题的...]]></description><category></category></item><item><title><![CDATA[随机数范围扩展方法总结 ]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84233929</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84233929</guid><author>passeddust</author><pubDate>Wed, 13 Jun 2012 21:04:37 +0800</pubDate><description><![CDATA[转载，原文地址[url]http://blog.youkuaiyun.com/hackbuteer1/article/details/7486704[/url]题目：
已知有个rand7()的函数，返回1到7随机自然数，让利用这个rand7()构造rand10() 随机1~10。
分析：要保证rand10()在整数1-10的均匀分布，可以构造一个1-10*n的均匀分布的随机整数区间（n为任何正整数）。假设...]]></description><category></category></item><item><title><![CDATA[求链表倒数第k个结点]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84233209</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84233209</guid><author>passeddust</author><pubDate>Tue, 12 Jun 2012 21:17:43 +0800</pubDate><description><![CDATA[题目描述： 输入一个单向链表，输出该链表中倒数第k个结点, 链表的倒数第0个结点为链表的尾指针。
第一反应是先遍历一遍链表，获得产度l,再遍历链表至l-k处，得到需求节点，这种做法不是最优
应该设置两个指针p、q，让p和q之间相距k个节点，然后让p、q同步向链表后走至链表尾节点，此时p指向的就是倒数第k个节点。
[code=&quot;c&quot;]struct Node{
	char data;
	No...]]></description><category></category></item><item><title><![CDATA[求亲和数算法]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84232526</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84232526</guid><author>passeddust</author><pubDate>Mon, 11 Jun 2012 19:18:21 +0800</pubDate><description><![CDATA[转载自[url]http://blog.youkuaiyun.com/v_JULY_v/article/details/6441279[/url]
题目描述： 求10000以内的所有亲和数 
如果两个数a和b，a的所有真因数之和等于b,b的所有真因数之和等于a,则称a,b是一对亲和数。 例如220和284，1184和1210，2620和2924。
[code=&quot;c&quot;]
    //求解亲和数问题   ...]]></description><category></category></item><item><title><![CDATA[2011年搜狗在线测评笔试题]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84230874</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84230874</guid><author>passeddust</author><pubDate>Fri, 08 Jun 2012 11:08:30 +0800</pubDate><description><![CDATA[根据encode方法写出对应的decode方法。最后运行程序输出的结果就是要求的答案

在iteye上早有人讨论过这题了，写下来给自己备忘下。
解题思路是按照encode的顺序去decode
如对byte a进行了3次加密操作
1.^seed
2.&gt;&gt;&gt;5
3.&amp;0x7
对byte b进行了4次加密
1.&gt;14
4.&amp;0xf8
所以在解密时候，对a也要进行3次解密,对b进行4...]]></description><category></category></item><item><title><![CDATA[n阶Hanoi塔问题]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84219556</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84219556</guid><author>passeddust</author><pubDate>Thu, 17 May 2012 16:58:33 +0800</pubDate><description><![CDATA[[code=&quot;c&quot;]
int c=0;
void move(char x,int n,char z){
	printf(&quot;%d. Move disk %d from %c to %c \n&quot;,++c,n,x,z);
}
void hanoi(int n,char x,char y,char z){
	if(n==1)
		move(x,1,z);//将编号1的圆盘从x移到z
	el...]]></description><category></category></item><item><title><![CDATA[C语言位运算--将整数转换成二进制串以及反转整数后N位]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84217304</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84217304</guid><author>passeddust</author><pubDate>Sun, 13 May 2012 19:49:47 +0800</pubDate><description><![CDATA[[code=&quot;c&quot;]
// c primer plus上的内容，位运算
#include 
char * itobs (int n,char * ps);
void show_bstr(const char *);
int invert_end(int num,int bits);
int main(void){
	char bin_str[8*sizeof(int)+1];
	i...]]></description><category></category></item><item><title><![CDATA[单向扫描快排，双向扫描快排与非递归快排]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84217098</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84217098</guid><author>passeddust</author><pubDate>Sat, 12 May 2012 22:22:07 +0800</pubDate><description><![CDATA[[code=&quot;java&quot;]import java.util.Stack;


public class QuickSort {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int unsort[]={4,3,...]]></description><category></category></item><item><title><![CDATA[C语言栈的简易实现，包含O（1）时间复杂度的min方法]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84217092</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84217092</guid><author>passeddust</author><pubDate>Sat, 12 May 2012 21:44:53 +0800</pubDate><description><![CDATA[[code=&quot;c&quot;]
#include
#include
#include
#include
//定义栈的初始分配空间
#define STACK_INIT_SIZE 100
//栈的分配增量
#define STACKINCRENMENT 10

typedef struct
{
 char *top;//栈顶
 char *base;//栈底
 char min;...]]></description><category></category></item><item><title><![CDATA[两个单向链表的第一个公共结点 ]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84215095</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84215095</guid><author>passeddust</author><pubDate>Tue, 08 May 2012 20:33:07 +0800</pubDate><description><![CDATA[转载，原文[url]http://blog.youkuaiyun.com/wcyoot/article/details/6426436[/url]
题目：两个单向链表，找出它们的第一个公共结点。
如果两个单向链表有公共的结点，也就是说两个链表从某一结点开始，它们的m_pNext都指向同一个结点。但由于是单向链表的结点，每个结点只有一个m_pNext，因此从第一个公共结点开始，之后它们所有结点都是重合的，不...]]></description><category></category></item><item><title><![CDATA[空间复杂度O（1）的归并问题]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84215015</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84215015</guid><author>passeddust</author><pubDate>Tue, 08 May 2012 17:29:39 +0800</pubDate><description><![CDATA[最近百度实习生笔试题里考了这个，要求归并算法里空间复杂度为O(1),不能设置辅助数组
[code=&quot;c&quot;]
# include 
# define N 10

int binarySearch(int m,int* unsort ,int low,int high){
	int mid;
	while(lowm)
			high=mid-1;
		else if(unsort[m...]]></description><category></category></item><item><title><![CDATA[字符串最大公共子序列以及最大公共子串问题]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84214921</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84214921</guid><author>passeddust</author><pubDate>Tue, 08 May 2012 15:30:56 +0800</pubDate><description><![CDATA[最大公共子序列
[code=&quot;java&quot;]import java.util.Random;
public class LCS {

	public static void main(String[] args){

        //设置字符串长度
        int substringLength1 = 20;
        int substringLength2 = ...]]></description><category></category></item><item><title><![CDATA[输入两个整数 n 和 m，从数列1，2，3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来...]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84212109</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84212109</guid><author>passeddust</author><pubDate>Wed, 02 May 2012 13:51:43 +0800</pubDate><description><![CDATA[转载的文章，原链接[url]http://www.cnblogs.com/pippo0725/articles/2046366.html[/url]
[code=&quot;c&quot;]
#include 
 
using namespace std;
int length;
void PrintSolutions(int *flag)
 {
     for (int i=0; i...]]></description><category></category></item><item><title><![CDATA[数组最大上升子序列解法]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84208750</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84208750</guid><author>passeddust</author><pubDate>Tue, 24 Apr 2012 15:53:16 +0800</pubDate><description><![CDATA[[code=&quot;c&quot;]
#include 
#define N 9
//O(nlogn)
/**该方法可求最大上升子序列同时，可求最大不下降子序列
如{2,1,1,4}这种连续两个元素相等的序列，最大不下降子序列为{1,1,4}
*/
void lis1(int *a){
	int i,j=0,temp,b[N],low,mid,high;
	b[0]=a[0];
	for(i=...]]></description><category></category></item><item><title><![CDATA[支持正负数的大数乘法]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84208141</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84208141</guid><author>passeddust</author><pubDate>Mon, 23 Apr 2012 15:18:45 +0800</pubDate><description><![CDATA[[code=&quot;c&quot;]#include 
#include 
#define N 1000//最大1000位
int input(char n[]){
	char s[N],temp;
	int i,j,positive;
	scanf(&quot;%s&quot;,s);
	j=strlen(s);
	for(i=0;i]]></description><category></category></item><item><title><![CDATA[将字符串输出为整数]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84200856</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84200856</guid><author>passeddust</author><pubDate>Sun, 22 Apr 2012 22:41:03 +0800</pubDate><description><![CDATA[[code=&quot;c&quot;]#include 
#include 
#include 
void main(){
	char *p=&quot;-0003123123sdadda123s2&quot;;
	int *q,i=0,k=0,j=0,len;
	if(p[0]!='-'){
		j=0;
	}else{
		j=1;
	}
	len=strlen(p);
	q=(int *)malloc(s...]]></description><category></category></item><item><title><![CDATA[字符串的模式匹配算法]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84200545</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84200545</guid><author>passeddust</author><pubDate>Sun, 22 Apr 2012 11:45:04 +0800</pubDate><description><![CDATA[[code=&quot;c&quot;]
#include
#define N1 11
#define N2 6
void kmp(char *p,char *q,int *next);
void basicIndex(char *p,char *q){
	int i=0,j=0,pos;
	while(i]]></description><category></category></item><item><title><![CDATA[各种排序算法]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84200417</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84200417</guid><author>passeddust</author><pubDate>Sat, 21 Apr 2012 23:00:55 +0800</pubDate><description><![CDATA[[code=&quot;c&quot;]
#include 
#define N 5

//从小到大
void bubbleSort(int p[]){
	int i=0,j=0,min=0;
	for(i=0;ii;j--){
			if(p[j]]]></description><category></category></item><item><title><![CDATA[各种复杂度求子数组的最大和]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/84200416</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/84200416</guid><author>passeddust</author><pubDate>Sat, 21 Apr 2012 22:55:57 +0800</pubDate><description><![CDATA[[code=&quot;c&quot;]
#include 
#define N 6
void maxSubArray(int a[]);
void maxSubArray2(int a[]);
void maxSubArray3(int a[]);
void main(){
	int a[]={1,2,-4,4,-4,7};
	maxSubArray2(a);
}
//O(n),这种方法能不能求...]]></description><category></category></item><item><title><![CDATA[误差反向传播算法——BP算法]]></title><link>https://blog.youkuaiyun.com/passeddust/article/details/83872032</link><guid>https://blog.youkuaiyun.com/passeddust/article/details/83872032</guid><author>passeddust</author><pubDate>Tue, 15 Mar 2011 15:45:29 +0800</pubDate><description><![CDATA[[color=green]BP网结构图[/color][img]http://dl.iteye.com/upload/attachment/436174/026c08bb-d89c-33a4-a12f-274cc3f6a662.png[/img]

[color=green]学习规则[/color]
[list=1]
[*]开始
[*]连接权值及阈值的初始化
给各连接权{ wkj}、{...]]></description><category></category></item></channel></rss>