吉比特校招技术岗笔试题
1.
#include <iostream>
#include <string>
using namespace std;
int cal(char *s)
{
if (*s == 0)
return 0;
return cal(s + 1) + 1;
}
char h(char *s, int n, int i, int &p)
{
if (i >= n)
return 0;
char c = h(s, n, 2 * i + 1, p);
if (p == 0)
return c;
--p;
if (p == 0)
return s[i];
return h(s, n, 2 * i + 2, p);
}
int main(int argc, char* argv[])
{
char s[] = "abcdefghijk";
int p = 9;
cout << h(s, cal(s), 0, p);
return 0;
}
请问代码执行后控制台输出的值为?
2.
#include <cstdio>
int f(int x)
{
return x & (-x);
}
int main( )
{
printf("%d,%d", f(127), f(128));
return 0;
}
请问代码执行后控制台输出的值为?
3.
找规律 72、36、24、18、?
4.
有一个等式为:x+2y+3z=100 ,则满足该等式的非负数整数解的组合有多少种?
5.
有一条长绳子,如果把这条绳子任意分成三段小绳子,那么请问,这三段绳子构成三角形的概率是?
6.
一棵度为5的树T中,若15个度为5的结点,14个度为4的结点,13个度为3的结点,12个度为2的结点,11个度为1的结点,则树T的叶节点个数是?
7.
假定个数为 M 的字符串链表中出现最多次数的字符串共计 K 个,若用线性探测法把这 K 个关键字存入散列表中。至少需要多少次检测?
8.
一个大型仓库有N个房间,房间的编号为1~N,房间内设置了N-1条双向道路,且不构成环状,使得所有房间形成了一个二叉树结构,根节点记为root,空节点使用null表示,房间的编号即为节点值。由于仓库房间过多需要使用机器人代替人工进行搬运工作。为了确定每一个机器人在仓库中的具体位置,需要给仓库安装 X个 定位器;
已知:
(1)仓库内从一个房间到相邻的任意房间的距离d是相等的。
(2)定位器的编号和房间的编号是相同的
假定需要建设的仓库共有 7 个房间,且当仓库房间深度大于5时,超出批准用地,无法建设。请问需要如何建设可以使用更少的定位器完做到对机器人的唯一定位,请给出使用定位器最少的建设结构,以及最少的数量和定位器编号________。
9.
设散列表的长度为8,散列函数H(k)=kmod 7,初始记录关键字序列为(8,13,15,20,27,29),计算用链地址法作为解决冲突方法的平均查找长度是________。
10.
给出多组只由如下字符组成的字符串“([{}])”,询问括号是否完全匹配 '('和')'、'['和']'、'{'和'}'任务是匹配的,即不能为")("、"]["和"}{"
11.
请阅读以下代码:
#include <iostream>
void fun(int x, int *y, int &z)
{
x = *y + z;
*y = x + z;
z = x + *y;
}
int main(1)
{
int a = 1;
int b = 2;
int c = 3;
fun(a, &b, c);
printf("%d,%d,%d", a, b, c);
return 0;
}
请问代码执行后控制台输出的值为?
12.
高校有 5 个系的足球队要进行循环比赛,即每两个队之间都要进行一次一场比赛。
其中每场比赛的胜者得 2 分、负者得 0 分、打平则两队各得 1 分。
最终比赛结果各系足球队的得分互不相同,已知:
(1)第1名的队没有平过;
(2)第2名的队没有负过;
(3)第4名的队没有胜过。
那么,请问全部比赛共打平________场。
13.
将 1,2,3,4,5,6 随机排列,标记为 a,b,c,d,e,f,则两个三位数 abc + def 之和为偶数的概率是________。
14.
放他去修仙是一款特别好玩的武侠修仙游戏,秘境探索是游戏的一大特色。
随着修行者能力的提升,玩家也可以不断的探索新的奇山怪景,直至探索人人都向往的天外天。如今天地灵气聚集,无需自身修为即可自由出入各大仙境。
小G作为游戏的忠实玩家,非常期待去探索所有的地方,虽然没有了仙法的限制,但是每一条路都需要消耗一定的机缘。
小G为了尽量少的消耗机缘,每一个地点至多经过俩次。那么要游览所有的地点,至少需要多少机缘呢?
15.
假定今天是星期天,即第一天,那么,请问第 2^2019 天是星期几________。
16.
请阅读以下代码
#include <stdio.h>
#include <string.h>
void foo(char* s, int left, int right)
{
int i, j;
char x, y;
i = left;
j = right;
x = s[(left + right) / 2];
do
{
while (s[i] > x && i < right) i++;
while (s[j] < x && j > left) j--;
if (i <= j)
{
y = s[i];
s[i] = s[j];
s[j] = y;
i++; j--;
}
} while (i <= j);
}
int main( )
{
char str[] = "abcdefghijklm";
foo(str, 0, (int) strlen(str) - 1);
printf("%s", str);
return 0;
}
代码执行后,控制台的输出为?
17.
任何一个基于"比较"的内部排序的算法,若对6个元素进行排序,则在最坏情况下所需的比较次数至少为_____________。
18.二叉树的旋转操作对以下哪种遍历不会造成影响?
#include <iostream>
#include <string>
using namespace std;
int cal(char *s)
{
if (*s == 0)
return 0;
return cal(s + 1) + 1;
}
char h(char *s, int n, int i, int &p)
{
if (i >= n)
return 0;
char c = h(s, n, 2 * i + 1, p);
if (p == 0)
return c;
--p;
if (p == 0)
return s[i];
return h(s, n, 2 * i + 2, p);
}
int main(int argc, char* argv[])
{
char s[] = "abcdefghijk";
int p = 9;
cout << h(s, cal(s), 0, p);
return 0;
}
请问代码执行后控制台输出的值为?
2.
#include <cstdio>
int f(int x)
{
return x & (-x);
}
int main( )
{
printf("%d,%d", f(127), f(128));
return 0;
}
请问代码执行后控制台输出的值为?
3.
找规律 72、36、24、18、?
4.
有一个等式为:x+2y+3z=100 ,则满足该等式的非负数整数解的组合有多少种?
5.
有一条长绳子,如果把这条绳子任意分成三段小绳子,那么请问,这三段绳子构成三角形的概率是?
6.
一棵度为5的树T中,若15个度为5的结点,14个度为4的结点,13个度为3的结点,12个度为2的结点,11个度为1的结点,则树T的叶节点个数是?
7.
假定个数为 M 的字符串链表中出现最多次数的字符串共计 K 个,若用线性探测法把这 K 个关键字存入散列表中。至少需要多少次检测?
8.
一个大型仓库有N个房间,房间的编号为1~N,房间内设置了N-1条双向道路,且不构成环状,使得所有房间形成了一个二叉树结构,根节点记为root,空节点使用null表示,房间的编号即为节点值。由于仓库房间过多需要使用机器人代替人工进行搬运工作。为了确定每一个机器人在仓库中的具体位置,需要给仓库安装 X个 定位器;
已知:
(1)仓库内从一个房间到相邻的任意房间的距离d是相等的。
(2)定位器的编号和房间的编号是相同的
假定需要建设的仓库共有 7 个房间,且当仓库房间深度大于5时,超出批准用地,无法建设。请问需要如何建设可以使用更少的定位器完做到对机器人的唯一定位,请给出使用定位器最少的建设结构,以及最少的数量和定位器编号________。
9.
设散列表的长度为8,散列函数H(k)=kmod 7,初始记录关键字序列为(8,13,15,20,27,29),计算用链地址法作为解决冲突方法的平均查找长度是________。
10.
给出多组只由如下字符组成的字符串“([{}])”,询问括号是否完全匹配 '('和')'、'['和']'、'{'和'}'任务是匹配的,即不能为")("、"]["和"}{"
11.
请阅读以下代码:
#include <iostream>
void fun(int x, int *y, int &z)
{
x = *y + z;
*y = x + z;
z = x + *y;
}
int main(1)
{
int a = 1;
int b = 2;
int c = 3;
fun(a, &b, c);
printf("%d,%d,%d", a, b, c);
return 0;
}
请问代码执行后控制台输出的值为?
12.
高校有 5 个系的足球队要进行循环比赛,即每两个队之间都要进行一次一场比赛。
其中每场比赛的胜者得 2 分、负者得 0 分、打平则两队各得 1 分。
最终比赛结果各系足球队的得分互不相同,已知:
(1)第1名的队没有平过;
(2)第2名的队没有负过;
(3)第4名的队没有胜过。
那么,请问全部比赛共打平________场。
13.
将 1,2,3,4,5,6 随机排列,标记为 a,b,c,d,e,f,则两个三位数 abc + def 之和为偶数的概率是________。
14.
放他去修仙是一款特别好玩的武侠修仙游戏,秘境探索是游戏的一大特色。
随着修行者能力的提升,玩家也可以不断的探索新的奇山怪景,直至探索人人都向往的天外天。如今天地灵气聚集,无需自身修为即可自由出入各大仙境。
小G作为游戏的忠实玩家,非常期待去探索所有的地方,虽然没有了仙法的限制,但是每一条路都需要消耗一定的机缘。
小G为了尽量少的消耗机缘,每一个地点至多经过俩次。那么要游览所有的地点,至少需要多少机缘呢?
15.
假定今天是星期天,即第一天,那么,请问第 2^2019 天是星期几________。
16.
请阅读以下代码
#include <stdio.h>
#include <string.h>
void foo(char* s, int left, int right)
{
int i, j;
char x, y;
i = left;
j = right;
x = s[(left + right) / 2];
do
{
while (s[i] > x && i < right) i++;
while (s[j] < x && j > left) j--;
if (i <= j)
{
y = s[i];
s[i] = s[j];
s[j] = y;
i++; j--;
}
} while (i <= j);
}
int main( )
{
char str[] = "abcdefghijklm";
foo(str, 0, (int) strlen(str) - 1);
printf("%s", str);
return 0;
}
代码执行后,控制台的输出为?
17.
任何一个基于"比较"的内部排序的算法,若对6个元素进行排序,则在最坏情况下所需的比较次数至少为_____________。
18.二叉树的旋转操作对以下哪种遍历不会造成影响?