阿里巴巴2015校招软件笔试题经典(含答案)_第1页
已阅读1页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、阿里巴巴2015校招软件笔试题经典写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。int Max(bitree * root) if(root=NULL)return 0; else if(root-datamax) max=root-data; Max(root-lchild); Max(root-rchild); return max;int Min(bitree * root) if(root=NULL)return 0; else if(root-datadata; M(root-lchild); M(ro

2、ot-rchild); return min;int main() bitree *root; root=creatbitree(); printf(最大值与最小值之差为:n); printf(%d,abs(Max(root)-Min(root); return 0;2、给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。#inclu

3、de stdio.h#include string.h #define N 100 int GetMaxCommStr(char *s1,char *s2,char *s3)/s1、s2 为要对比的俩个字符串, /s3用来存储最大的公共字符串 / char *s1=stra, *s2=strb; char len1 = strlen(s1);char len2 = strlen(s2);char maxlen = 0; char i,j,r1;for( i = 0; i len1; i+) for(j = 0; j len2; j+) if(s1i = s2j) /找到了第一个相等的 char

4、 as = i, bs = j, count = 1; /保存第一个相等的首地址 while( (as+1len1) & (bs+1 maxlen) /如果大于最大长度则更新 maxlen = count; r1=i; /存储公共子字符串的起始位 if (maxlen0) /有公共子字符串 for(i=0;imaxlen;i+) *(s3+i)=*(s1+i); return maxlen; int main () char aN=0,bN=0,strN=0; printf (Enter two string(the length 100)!n,N); scanf(%s%s,a,b); int maxoflen=GetMaxCommStr(a,b,str); printf(max of len

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论