阿里8.29,研发笔试题中的两个附加题
2014-08-30 15:42
274 查看
由于之前内推过,未能参加笔试,今天看见别人贴出的题目,自己写了写,没有检查。大家谁看见有问题请告知。
给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果 应该为其长度3。请注意程序效率。
写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。
给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果 应该为其长度3。请注意程序效率。
#include <iostream> #include <windows.h> #include <algorithm> using namespace std; int Get_Length(const char* text, const char* query) { if ((NULL == text) || (NULL == query)) { return 0; } int Max_Len = 0; int Text_Len = strlen(text); int Query_Len = strlen(query); for (int i = 0; i < Text_Len; i++) { int count = 0; while (count < Query_Len) { if (*(query + count) == *text) { int temp = 0; while ((*(query + count + temp) == *(text + temp)) && (*(query + count + temp) != '\0')) { temp++; } if (temp > Max_Len) Max_Len = temp; } count++; } text++; } return Max_Len; } int main() { const char* a = "abcadcde"; const char* b = "abscscsd"; cout << Get_Length(a, b); return 0; }
写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。
int BTreeNode::BTree_GetMax(TreeNode* tree,int& min, int& max) { int temp1 = 0, temp2 = 0; if (tree == NULL) { return 0; } if (tree == root) min = root->data; if (tree->lc != NULL) { if (tree->lc->data > max) max = tree->lc->data; if (tree->lc->data < min) min = tree->lc->data; } if (tree->rc != NULL) { if (tree->rc->data > max) max = tree->rc->data; if (tree->rc->data < min) min = tree->rc->data; } if ((tree->lc != NULL)) BTree_GetMax(tree->lc, min, max); if (tree->rc != NULL) BTree_GetMax(tree->rc, min, max); return max - min; }
相关文章推荐
- 2015年阿里研发工程师实习笔试附加题
- 2016阿里在线笔试Java研发附加题
- 阿里巴巴2014校园招聘研发笔试一道JAVA附加题分析
- 2014 阿里校招研发岗位在线笔试题+附加题
- 阿里2015笔试附加题-一个数组中存在一组数字,其中有一个数字重复3遍,其他2遍,在O(1)空间找到那个重复3次的数
- 阿里巴巴2014校园招聘研发笔试一道JAVA附加题分析
- 2017阿里C++研发工程师-校招-笔试模拟
- 2015年阿里在线笔试题:求两个字符串的最大公共子序列长度的C语言解法
- 阿里题目总结——阿里巴巴2010搜索研发C++工程师笔试卷
- 阿里巴巴2014校园招聘研发笔试一道JAVA附加题分析
- 阿里2015校招笔试题 - 研发工程师
- 阿里题目总结——阿里巴巴2015研发工程师A笔试
- 阿里巴巴2014校园招聘研发笔试一道JAVA附加题分析
- 阿里笔试附加题第一小题
- 面试经验分享之阿里客户端研发实习生笔试
- 阿里2014软件研发部笔试题_14
- [阿里笔试]在64位系统下,分别定义如下两个变量:char *p[10]; char(*p1)[10];请问,sizeof(p)和sizeof (p1)分别值为____。
- 最长连续字母序列的长度(阿里2015在线研发工程师笔试题)
- 阿里巴巴2014校园招聘研发笔试一道JAVA附加题分析
- 阿里2015在线研发project师笔试题(部分)