去哪儿 2018校招 软件开发工程师在线考试
编程题 | 30.0分1/3
最小与最大排列
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
定一个大小为m的字符集合,打印其全部k排列中按照字典序排序后最小和最大的两个排列。其中m,k > 0, 且 k≤m
输入
第一行:空格分割的字符,互不重复
第二行:排列数k
输出
第一行:字典序排序后的最小排列
第二行:字典序排序后的最大排列
样例输入
a b c
2
样例输出
a b
c b
编程题 | 30.0分2/3
BST判定
时间限制:C/C++语言 3000MS;其他语言 5000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
判断给定的二叉树是否为二分查找树。假设树的每个节点以整数为键值,且不同节点的键值互不相等。二分查找树成立的判定条件 :
对任何非叶子节点A,如果A存在左子树,则A的键值大于其左子树所有节点的键值,且,如果A存在右子树,则A的键值小于其右子树所有节点的键值。
输入
第一行:根节点键值;
第二行开始,二叉树的结构,每行代表一组根节点与左右子节点的对应关系,-1代表空节点。格式:
根节点键值:左子节点键值|右子节点键值
例如,
5:3|-1
表示键值为5的节点,左子节点的键值为3, 右子节点为空节点
假设:所有节点的键值非负,且不超过1023
输出
判断结果,0表示输入不是二分查找树,1表示输入是二分查找树
样例输入
5
5:4|7
4:3|8
7:2|-1
3:-1|-1
8:-1|-1
2:-1|-1
样例输出
0
编程题 | 40.0分3/3
乘方取模
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
给定非负整数a, b, m, 利用基本的算术运算符(+-*/%)以及位运算符,计算 ab mod m
输入
一行三个非负整数,空格分隔,分 为a b m的值,其中m不为0
输出
ab mod m 的结果
样例输入
2 10 5
样例输出
4
#笔试题目##秋招##校招#