去哪儿2018校招软件开发工程师笔试题

编程题

1、最小与最大排列

题目描述:

定一个大小为m的字符集合,打印其全部k排列中按照字典序排序后最小和最大的两个排列。其中m,k > 0, 且 k≤m

输入

第一行:空格分割的字符,互不重复

第二行:排列数k

输出

第一行:字典序排序后的最小排列

第二行:字典序排序后的最大排列

样例输入

a b c

2

样例输出

a b

c b


2、BST判定

题目描述:

判断给定的二叉树是否为二分查找树。假设树的每个节点以整数为键值,且不同节点的键值互不相等。二分查找树成立的判定条件 :

对任何非叶子节点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

3、乘方取模

题目描述:

给定非负整数a, b, m, 利用基本的算术运算符(+-*/%)以及位运算符,计算 ab  mod m

输入

一行三个非负整数,空格分隔,分 为a b m的值,其中m不为0

输出

ab  mod m 的结果

样例输入

2 10 5

样例输出

4

个人资料
crazybean
等级:8
文章:61篇
访问:15.7w
排名: 5
上一篇: 完美世界校招算法题2018
下一篇:去哪儿2018秋招笔试编程题
猜你感兴趣的圈子:
去哪儿网笔试面试圈
标签: 键值、样例、排列、左子、节点、面试题
隐藏