阿里巴巴校招软件笔试题经典

更多笔试题👉「校园招聘面试题库」:校园招聘笔试面试题目合集


  1. 写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。

int Max(bitree * root)

{ if(root==NULL)return 0;

else{ if(root->data>max)

max=root->data;

Max(root->lchild);

Max(root->rchild);

}

return max;

}

int Min(bitree * root)

{ if(root==NULL)return 0;

else{ if(root->data<min)

min=root->data;

M(root->lchild);

M(root->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。请注意程序效率。

#include "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 as = i, bs = j, count = 1; //保存第一个相等的首地址

while( (as+1<len1) && (bs+1<len2) && (s1++as == s2++bs) ) //查找最大相等长度

count++;

if(count > maxlen) //如果大于最大长度则更新

{

maxlen = count;

r1=i; //存储公共子字符串的起始位

}

}

}

}

if (maxlen>0) //有公共子字符串

{

for(i=0;i<maxlen;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 length is: %d\n",maxoflen);

return 0;

}

第一题:测试淘宝站内的搜索系统,请问你能想到哪些方法来进行测试?

相关推荐
yi01110 分钟前
DAY24: LeetCode 167:两数之和 II|从暴力枚举到左右双指针
笔记·python·算法·leetcode·二分查找·双指针
木井巳11 分钟前
【BFS 解决拓扑排序】课程表
java·算法·leetcode·广度优先·宽度优先·推荐算法·图搜索算法
扶风ff31 分钟前
练题簿在线免费刷题:会员线下组卷、Word 试卷与成绩导入,课堂检测更方便
java·开发语言·算法·小程序·word
yi01138 分钟前
LeetCode 15:三数之和|排序 + 双指针,如何避免重复答案?
笔记·python·算法·leetcode·双指针
-dzk-1 小时前
【多维动态规划】LC 1143.最长公共子序列
算法·动态规划
C++ 老炮儿的技术栈1 小时前
char (*csConnectName)[256]; 和 char csConnectName [256] 有什么区别
java·c语言·开发语言·c++·人工智能·算法·c
Omics Pro1 小时前
全新可重分析!代谢组质谱专用
数据库·人工智能·算法·机器学习·自然语言处理
Nebula_g1 小时前
JavaSE加强:线程Thread(线程安全重点)
java·开发语言·jvm·算法·javase·技术栈
一只废狗狗狗狗狗狗狗狗狗1 小时前
Network架构1——卷积神经网络CNN
人工智能·算法·cnn
是希燃亚1 小时前
AI Agent 的未来,可能不是更强,而是更简单
算法·架构