自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jiq•钦's technical Blog

学习 -> 记录 -> 分享

  • 博客(66)
  • 收藏
  • 关注

原创 电话号码转换与统计(POJ-1002)

submit上去是Runtime Error,还需要解决。但是我自己电脑上运行好几个测试用例是正确的。/*** http://poj.org/problem?id=1002*/#include using namespace std;/*** 字符到数字的转换*/int valueToKey(char ch){ if(ch >= '0' && ch

2012-11-28 16:56:15 983

电话号码转换与统计(POJ-1002)

submit上去是Runtime Error,还需要解决。但是我自己电脑上运行好几个测试用例是正确的。/*** http://poj.org/problem?id=1002*/#include <iostream>using namespace std;/*** 字符到数字的转换*/int valueToKey(char ch){ if...

2012-11-28 16:56:00 142

原创 整数的大数相乘

#include using namespace std;/*** 大数相乘,使用字符串解决*//*** 将字符转换成数字*/int ctoi(char ch){ if(ch '9'){ cout<<"transfer error"<<endl; return -1; } return ch-48;}/*** 将数字

2012-11-17 22:45:36 855

整数的大数相乘

#include &lt;iostream&gt;using namespace std;/*** 大数相乘,使用字符串解决*//*** 将字符转换成数字*/int ctoi(char ch){ if(ch &lt; '0' || ch &gt; '9'){ cout&lt;&lt;"transfer error"&lt;&lt;endl; ...

2012-11-17 22:45:00 65

原创 一维子数组最大和

/* * MaxSumSubArray.cpp * * Created on: 2012-6-20 * Author: jiyiqin * * 给定一个包含正数,负数,0的数组,求一个连续的子数组,使得其和最大 */#include using namespace std;#define MIN_INT -10000class MaxS

2012-11-16 23:05:48 881

一维子数组最大和

/* * MaxSumSubArray.cpp * * Created on: 2012-6-20 * Author: jiyiqin * * 给定一个包含正数,负数,0的数组,求一个连续的子数组,使得其和最大 */#include &lt;iostream&gt;using namespace std;#define MIN_INT -1...

2012-11-16 23:05:00 73

原创 最长递增子序列

/* * MaxIncresingSubSequeuce.cpp * * Created on: 2012-6-24 * Author: jiyiqin * * 最长递增子序列,比如1,-1,2,-3,4,-2,6,-5, 返回 1,2,4,6,长度为4 * */#include using namespace std;class Max

2012-11-16 21:42:56 779

最长递增子序列

/* * MaxIncresingSubSequeuce.cpp * * Created on: 2012-6-24 * Author: jiyiqin * * 最长递增子序列,比如1,-1,2,-3,4,-2,6,-5, 返回 1,2,4,6,长度为4 * */#include &lt;iostream&gt;using namespace s...

2012-11-16 21:42:00 60

原创 找出只出现一次的两个数

#include using namespace std;/** * 题目:有N+2个数,N个数出现了偶数次,2个数出现了奇数次(这两个数不相等), * 问用O(1)的空间复杂度,找出这两个数,不需要知道具体位置,只需要知道这两个值。 * *//*** 假设不相同的两个数字是x和y。他们的异或结果一定不是0,假设为xor。* xor的最低位1就是他们不相同的其中

2012-11-16 17:08:16 929

找出只出现一次的两个数

#include &lt;iostream&gt;using namespace std;/** * 题目:有N+2个数,N个数出现了偶数次,2个数出现了奇数次(这两个数不相等), * 问用O(1)的空间复杂度,找出这两个数,不需要知道具体位置,只需要知道这两个值。 * *//*** 假设不相同的两个数字是x和y。他们的异或结果一定不是0,假设为xor。* xo...

2012-11-16 17:08:00 115

原创 快速排序

/* * quickSort.cpp(快速排序) * * Created on: 2012-4-21 * Author: jiyiqin * * 快速排序: * * 分治法: * 和归并排序一样,快速排序也是基于分治思想的。 * 代价: * 时间复杂度,期望为o(n log n), 但是最坏可能达到o(n^2) * 空间复杂度,o

2012-11-15 15:10:21 873

快速排序

/* * quickSort.cpp(快速排序) * * Created on: 2012-4-21 * Author: jiyiqin * * 快速排序: * * 分治法: * 和归并排序一样,快速排序也是基于分治思想的。 * 代价: * 时间复杂度,期望为o(n log n), 但是最坏可能达到o(n^2) * 空间复杂度,o...

2012-11-15 15:10:00 71

原创 归并排序

/* * mergeSort.cpp(归并排序) * * Created on: 2012-4-20 * Author: jiyiqin * * 归并排序: * 分治法: * 分治法思想,不断将待排序数组划分成两个部分。 * 直到问题最小(两个元素)。 * 然后将两个部分(各自有序)归并到一起。 * * 代价: *

2012-11-15 14:59:37 880

归并排序

/* * mergeSort.cpp(归并排序) * * Created on: 2012-4-20 * Author: jiyiqin * * 归并排序: * 分治法: * 分治法思想,不断将待排序数组划分成两个部分。 * 直到问题最小(两个元素)。 * 然后将两个部分(各自有序)归并到一起。 * * 代价: * ...

2012-11-15 14:59:00 71

原创 冒泡排序

/* * BubbleSort.cpp(冒泡排序) * * Created on: 2012-4-22 * Author: jiyiqin */#include using namespace std;/*冒泡排序*/class BubbleSort{private: void swap(int *a, int *b){ int t

2012-11-15 14:40:25 793

冒泡排序

/* * BubbleSort.cpp(冒泡排序) * * Created on: 2012-4-22 * Author: jiyiqin */#include &lt;iostream&gt;using namespace std;/*冒泡排序*/class BubbleSort{private: void swap(int *a, i...

2012-11-15 14:40:00 63

原创 堆排序

/* * heapSort.cpp(堆排序) * * Created on: 2012-4-17 * Author: jiyiqin * * 稳定性: * 堆排序类似于选择排序,所以不是一种稳定的排序。 * * 代价: * 但是其时间复杂度最差也是o(n log n),空间复杂度为1 * * 算法描述 * 输入一

2012-11-15 14:31:56 833

堆排序

/* * heapSort.cpp(堆排序) * * Created on: 2012-4-17 * Author: jiyiqin * * 稳定性: * 堆排序类似于选择排序,所以不是一种稳定的排序。 * * 代价: * 但是其时间复杂度最差也是o(n log n),空间复杂度为1 * * 算法描述 * 输入一...

2012-11-15 14:31:00 80

原创 BST的插入和删除

/* * binarySearchTree.cpp * * Created on: 2012-4-17 * Author: jiyiqin * 实现二叉查找树的构造,插入,删除,查找节点等基本操作。 */#include #include #include using namespace std;class BinarySearchT

2012-11-15 12:55:43 1207

BST的插入和删除

/* * binarySearchTree.cpp * * Created on: 2012-4-17 * Author: jiyiqin * 实现二叉查找树的构造,插入,删除,查找节点等基本操作。 */#include &lt;iostream&gt;#include &lt;string&gt;#include &lt;stdio.h&gt;...

2012-11-15 12:55:00 164

原创 输出排列

#include using namespace std;int count = 0;#define MAX 4void swap( char *a, char *b){ char tmp; tmp = *a; *a = *b; *b = tmp;}/*** (全排列:A(m,n)且m==n)* 全排列是这样的:第一个位置有n种方法,第二

2012-11-13 13:13:10 864

输出排列

#include &lt;iostream&gt;using namespace std;int count = 0;#define MAX 4void swap( char *a, char *b){ char tmp; tmp = *a; *a = *b; *b = tmp;}/*** (全排列:A(m,n)且m==n)* 全排列是这...

2012-11-13 13:13:00 80

原创 输出组合

#include using namespace std;#define MAX 4/*** (组合: C(m,n))* 从n个元素中选择m个元素,他们之间没有次序关系* 以1,2,3,4为例,n=4,m=2。C[]存放组合结果。* 先确定c[0]=1,然后再从剩下的3(n-i-1)个中选择1(m-1)个。* 第二轮确定c[0]=2,然后再从剩下的2(n-i-1)个

2012-11-13 13:09:11 933

输出组合

#include &lt;iostream&gt;using namespace std;#define MAX 4/*** (组合: C(m,n))* 从n个元素中选择m个元素,他们之间没有次序关系* 以1,2,3,4为例,n=4,m=2。C[]存放组合结果。* 先确定c[0]=1,然后再从剩下的3(n-i-1)个中选择1(m-1)个。* 第二轮确定c[0]=2,...

2012-11-13 13:09:00 92

原创 重构二叉树

/*** 问题描述:* 根据一颗二叉树的前序和中序遍历结果,重构这颗二叉树并输出后序遍历结果*/#include using namespace std;typedef struct node { int value; struct node *left; struct node *right;}NODE;NODE *root;//节点分配函

2012-11-12 22:43:13 917

重构二叉树

/*** 问题描述:* 根据一颗二叉树的前序和中序遍历结果,重构这颗二叉树并输出后序遍历结果*/#include &lt;iostream&gt;using namespace std;typedef struct node { int value; struct node *left; struct node *right;}NODE;NODE *...

2012-11-12 22:43:00 65

原创 两个序列的最长公共子序列

DP方式求解:#include using namespace std;/*** 问题描述:两个字符串,求解他们的最长公共子序列,子序列不要求连续* * 分析这个问题,我们可以发现有子结构,可以将X,Y两个字符串的最长公共子串* 的问题转换成更小的子问题。而且这个问题的求解过程有重叠子问题。根据这两个* 性质我们确定尝试用DP来解决。* 首先定义状态,f(m

2012-11-11 22:48:45 1314

两个序列的最长公共子序列

DP方式求解:#include &lt;iostream&gt;using namespace std;/*** 问题描述:两个字符串,求解他们的最长公共子序列,子序列不要求连续* * 分析这个问题,我们可以发现有子结构,可以将X,Y两个字符串的最长公共子串* 的问题转换成更小的子问题。而且这个问题的求解过程有重叠子问题。根据这两个* 性质我们确定尝试用DP来解...

2012-11-11 22:48:00 195

原创 字符串之间的最短距离

#include using namespace std;//为了方便,将a和b的长度固定下来,这样就不用动态创建数组了#define M 6#define N 3int dp[M][N] = {0};/*** 问题描述: 两个字符串如果可以根据添加,删除,修改一个字符串来变成另一个字符串,则* 说这两个字符串距离为1. 现在给出两个字符串,求出他们之间的距离。

2012-11-11 21:49:50 1278

字符串之间的最短距离

#include &lt;iostream&gt;using namespace std;//为了方便,将a和b的长度固定下来,这样就不用动态创建数组了#define M 6#define N 3int dp[M][N] = {0};/*** 问题描述: 两个字符串如果可以根据添加,删除,修改一个字符串来变成另一个字符串,则* 说这两个字符串距离为1. 现在给出...

2012-11-11 21:49:00 128

原创 浅谈保存一个文件操作内部发生了什么

比如新建一个word,写了一行字,然后点击保存。发生了什么?这个数据会不会马上写到磁盘上? 1 文件系统:文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type)。文件系统是一种用于向用户提供底层数据访问的机制。它将设备中的空间划分为特定大小的块(扇区),一般每块512字节。数据存储在这些块中,大小被修正为占用整数

2012-11-09 23:00:53 1219

浅谈保存一个文件操作内部发生了什么

比如新建一个word,写了一行字,然后点击保存。发生了什么?这个数据会不会马上写到磁盘上?1 文件系统:文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type)。文件系统是一种用于向用户提供底层数据访问的机制。它将设备中的空间划分为特定大小的块(扇区),一般每块512字节。数据存储在这些块中,大小被修正为占用整数个...

2012-11-09 23:00:00 162

原创 浅谈在浏览器中输入URL返回页面的过程

参考:http://zhan.renren.com/seochina?gid=3602888497994264527&checked=true1 域名到IP地址的转换:·浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。·系统缓存 – 如果在浏览器缓存里没有找到需要

2012-11-09 21:46:54 1445

浅谈在浏览器中输入URL返回页面的过程

参考:http://zhan.renren.com/seochina?gid=3602888497994264527&amp;checked=true1 域名到IP地址的转换:·浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。·系统缓存 – 如果在浏览器缓存里没有...

2012-11-09 21:46:00 169

原创 浅谈从源代码文件到二进制可执行文件的过程

=== .c   ===预处理 -》.c (源文件)编译 -》.s/asm (汇编程序)汇编 -》.o/obj 目标程序(二进制文件)链接 -》.exe可执行程序 (二进制文件)(1) 为什么要生成汇编,而不是直接从源文件编译成机器指令(二进制代码)?首先,汇编语言作为机器指令的助记符,调试以及优化起来都会比较方便;其次,汇编到机器指令的过程是由硬件完成的,是一个自动过

2012-11-09 21:04:10 2052

浅谈从源代码文件到二进制可执行文件的过程

=== .c ===预处理 -》.c (源文件)编译-》.s/asm (汇编程序)汇编-》.o/obj 目标程序(二进制文件)链接-》.exe可执行程序 (二进制文件)(1) 为什么要生成汇编,而不是直接从源文件编译成机器指令(二进制代码)?首先,汇编语言作为机器指令的助记符,调试以及优化起来都会比较方便;其次,汇编到机器指令的过程是由硬件完成的,是一个自动过程,让硬件...

2012-11-09 21:04:00 561

原创 不一样的面试(发现自己最大的问题之一)

今天被北京XXX公司(著名广告投放公司)鄙视了。面试官是个中年男子,很帅气,虽然面试官人很好,但是还是让我心情不爽。一进去就说先来个组成原理的题吧: CPU,主存,北桥,南桥,速度不一致,缓存之类的,这个很简单,回答出来了,面试官说了好几个good,还挺满足的。接下来说做一道操作系统的题吧:我在word里面写了一些文本,点击保存。(1) 他有没有写到磁盘上?(2) 如果写了,是一个

2012-11-07 23:20:16 1903

不一样的面试(发现自己最大的问题之一)

今天被北京XXX公司(著名广告投放公司)鄙视了。面试官是个中年男子,很帅气,虽然面试官人很好,但是还是让我心情不爽。一进去就说先来个组成原理的题吧: CPU,主存,北桥,南桥,速度不一致,缓存之类的,这个很简单,回答出来了,面试官说了好几个good,还挺满足的。接下来说做一道操作系统的题吧:我在word里面写了一些文本,点击保存。(1) 他有没有写到磁盘上?(2) 如果写了,是一个...

2012-11-07 23:20:00 118

原创 将二叉排序树BST转换成排序的双向链表

#include using namespace std;/*** 递归实现将二叉排序树BST转换成排序的双向链表。* 递归左子树,将左子树的转换成的链表的尾节点和当前根节点连接,* 然后当前根节点更新尾转换好链表的尾节点。 递归右子树*/typedef struct node{ int value; struct node *lchild; struct

2012-11-04 22:24:42 1770

将二叉排序树BST转换成排序的双向链表

#include &lt;iostream&gt;using namespace std;/*** 递归实现将二叉排序树BST转换成排序的双向链表。* 递归左子树,将左子树的转换成的链表的尾节点和当前根节点连接,* 然后当前根节点更新尾转换好链表的尾节点。 递归右子树*/typedef struct node{ int value; struct node *l...

2012-11-04 22:24:00 174

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除