自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 Google File System(中文翻译)

原文地址:http://blog.csdn.net/xuleicsu/article/details/526386Google文件系统 GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。 1、设计概览 (1)设计想定 GFS与过去的分布式文件系统有很

2013-09-21 21:50:46 654

原创 创新工场笔试题

/* 给定一组整数1~n^2;按规则填入到n*n的二维数组中 例如:n = 4 1 3 4 10 2 5 9 11 6 8 12 15 7 13 14 16*/void function(int **arr,int len,int *val){ int i,j,k,m,n; int flag = 1; arr[0][0] = val[0]; arr[len-1

2013-09-16 22:18:58 595

原创 两个字符串的最长公共子串

例如str1:=“abcd”;str2 = “bcde”;定义一个二维数组啊arr[4[4];a bc db 0 1 0 0c 0 0 1 0d 0 0 0 0e 0 0 0 0字符串1,2若有相同的字符,对应的数组设置为一,对角线连续为1,对应的为公共子串,找出最长的即可。void lSubstrin

2013-09-15 16:07:01 688

原创 计算该表达式值

/*问题描述:输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值注1、表达式只含+,-,*,/四则运算符,不含括号2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况3、要考虑加减乘除按通常四则运算规定的计算优先级4、除法用整数除法,即仅保留除法运算结果的整数部分。比如8/3=2。输入表达式保证无0作为除数情况发生5、输入字符串一定是符合题意合

2013-09-14 19:17:12 562

原创 自动分离出各个子串,并使用’,’将其分隔

/* 通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。 请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’ 并将子串存储。 如果输入“abc def gh i d”,结果将是abc,def,gh,i,d, 要求实现函数: void DivideString(const char *InputStr

2013-09-14 19:12:55 678

原创 大整数加法

/* 两个超长正整数的加法 描述: 请设计一个算法完成两个超长正整数的加法,两个加数的长度均小于128 运行时间限制: 无限制 内存限制: 无限制 输入: 正整数+空格+正整数 输出: 正整数 样例输入: 1234567890987654 888888888888888 样例输出: 2123456779876542 答案提示: [pre]编写一个main函数实现该功能算法。*

2013-09-14 19:10:06 692

原创 进程间的通信-消息队列

1.创建或打开一个消息队列:int msgget(key_t key,int flag);//#include成功则返回消息队列的id,否则返回-1;key是消息队列的外部名称,标识符是队列的内部名称.2.每个消息队列都有一个msqid_ds结构与其相关,该结构规定了队列的当前状态。struct msqid_ds {struct ipc_perm msg_perm;

2013-08-14 20:07:33 412

原创 求大数的最大公约数的最高效方法

求大数x,y的最大公约数,用(x,y)表示x,y的最大公约数。若x,y都为偶数,则(x,y)=2*(x>>1,y>>1);//>>1表示右移一位若x为偶数,y为奇数,则(x,y)=(x>>1,y);若y为偶数,x为奇数,则(x,y)=(x,y>>1);若x,y都为奇数,则(x,y) = (y,x-y)。//x>y时时间复杂度为O(log2(max(x,y)))。int6

2013-06-30 22:03:32 857

原创 找出N个浮点数中最大的k个不同的浮点数

N个浮点数中,有相同的浮点数,找出其中最大的k个不同的浮点数;  用容量为k的最小堆存储最大的k个不同的浮点数,堆顶就是k个中最小的浮点数,遍历N个数,与堆顶元素比较大小,若比堆顶元素大,则与之交换,调整最小堆。void Heap(float heap[],int i,int size) { int l,r,mix; float temp; l

2013-06-16 22:02:12 1097 3

原创 判断N是否为2的方幂

编程之美相关题目:  给定整数n,判断它是否为2的方幂.  若一个数是二的方幂,则该数的二进制表示1的个数为1.若一个数1的个数为1,则n&(n-1)==0

2013-06-16 16:34:43 1593

原创 二进制数a,b有多少位不同.

编程之美上扩展问题:  给定两个正整数(二进制表示形式)a、b,问把a变成b需要改变多少位,也就是说,整数a,b的二进制中有多少位是不同的。  对于这个问题,先把a,b进行异或运算,结果是相通位为0,不同位1.之后直接求结果的1的个数。本题方法简单,求一的个数有多种解决方案,这里只讲一种我最喜欢的一种。typedef unsigned char BYTE;//求二进制数

2013-06-16 15:57:15 1665

原创 二分插入排序

//二分插入排序void Binary_insert_sort(int arr[],int n){ int i,j,r,low,high,mid; for(i = 1;i < n; i++) { r = arr[i]; low = 0,high = i-1; while(low <= high) { mid = (low+high)/2; if(r > arr[

2013-06-03 21:51:22 391

原创 简单选择排序

//选择排序//第i趟循环找出第i小的数据并与arr[i-1]交换数据void select_sort(int arr[],int n){ int i,j,k,temp; for(i = 0;i<n;i++) { k = i; for(j = i+1;j<n;j++) if(arr[j] < arr[k]) k = j; if(i != k) {

2013-06-02 15:12:10 330

原创 合并排序

//合并排序int num = 0;void Merge(int arr[],int Tarr[],int s,int m,int e){ num++; int i = s,j = m+1,k = s,x; while(i<=m&&j<=e) { if(arr[i] < arr[j]) Tarr[k++] = arr[i

2013-06-02 14:19:19 421

原创 快速排序

//快速排序int quickSort(int arr[],int s,int e){ int i=s,j=e; int R; R = arr[s]; int temp=0; while(i<=j) { while(arr[i]<=R)i++; while(arr[j]>R)j--; if(i<j

2013-06-02 14:17:50 310

原创 堆排序

//堆排序void Heap(int heap[],int i,int size){ int l,r,temp,mix; l = 2*i; r = 2*i+1; if(l<size&&heap[l-1]<heap[i-1]) mix = l; else mix = i; if(r<size&&heap

2013-06-02 14:16:22 396

空空如也

空空如也

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

TA关注的人

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