面试算法题
文章平均质量分 69
gavinoy
程序猿
展开
-
内部排序
//插入排序void InsertSort(int* data, int length){ for(int i=1;i { int tmp = data[i]; int j = i-1; while(j>=0 &&tmp { data[j+1] = data[j];原创 2013-04-26 16:13:15 · 513 阅读 · 0 评论 -
将真分数分解为埃及分数
分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。如:8/11 = 1/2+1/5+1/55+1/110。#includeint main(void){ long int a,b,c; scanf("%ld/%ld",&a,&b); /*输入分子a和分母b*/ while(true) { if(b%原创 2014-10-18 18:29:35 · 988 阅读 · 0 评论 -
Redraiment的走法
题目描述 Redraiment是走梅花桩的高手。Redraiment总是起点不限,从前到后,往高的桩子走,但走的步数最多,不知道为什么?你能替Redraiment研究他最多走的步数吗? 样例输入62 5 1 5 4 5 样例输出3 提示Example: 6个点的高度各为 2 5 1 5 4 5原创 2014-10-18 16:48:23 · 1694 阅读 · 0 评论 -
按字节截取字符串
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。原创 2014-10-15 09:35:46 · 634 阅读 · 0 评论 -
动态规划方法求解最长公共子串
第一部分、什么是动态规划算法 ok,咱们先来了解下什么是动态规划算法。 动态规划一般也只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单地说,问题能够分解成子问题来解决。动态规划算法分以下4个步骤:描述最优解的结构递归定义最优解的值按自底向上的方式计算最优解的值转载 2014-10-14 19:23:21 · 1104 阅读 · 0 评论 -
字符串中对称子串的最大长度
1. 描述输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“goooogle”, 由于该字符串里最长的对称子字符串是“goooog”, 因此输出 6。原创 2014-10-13 21:54:38 · 811 阅读 · 0 评论 -
利用动态规划,求数值矩阵左上角至右下角最小路径
问题描述:随机产生一个n行m列的整数矩阵,如图所示即随机产生的一个7行5列的数值矩阵,在整数矩阵中寻找从左上角至右下角,每步可向下(D)或向右(R)或斜向右下(O)的一条数值和最小的路径。 27 28 29 18 26 16 13 19 14 27 32 22 39 26 21 10 30 23 20 18 13 11 30 29 20转载 2014-10-02 09:10:50 · 6388 阅读 · 0 评论 -
带有通配符的字符串和另一个字符串进行匹配
* 可以匹配0个或0个以上的字符?可以匹配一个字符bool match(char *pattern, char *content) { // if we reatch both end of two string, we are done if ('\0' == *pattern && '\0' == *content) return转载 2014-10-06 10:50:26 · 2752 阅读 · 0 评论 -
面试算法记录
1.题目描述:求500万以内的所有亲和数如果两个数a和b,a的所有真因数之和等于b,b的所有真因数之和等于a,则称a,b是一对亲和数。例如220和284,1184和1210,2620和2924。转载 2014-08-21 22:13:25 · 435 阅读 · 0 评论 -
分块查找
typedef struct{int key;int low;int high;}IDXType; //索引块int BlkSearch(int* data,IDXType* idx,int m,int key) //m为索引块的长度,key为要查找的值{int low = 0;int high原创 2013-04-28 10:36:34 · 579 阅读 · 0 评论 -
判断两个IP是否属于同一子网
子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。子网掩码与IP地址结构相同,是32位二进制数,其中网络号部分全为“1”和主机号部分全为“0”。利用子网掩码可以判断两台主机是否中同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。原创 2014-10-18 20:15:21 · 1478 阅读 · 2 评论