今日头条2017在线笔试模拟
标签(空格分隔): c c++ 题目
链接:http://s3a.pstatp.com/toutiao/static_images/campus/app.html?v=9&from=timeline&isappinstalled=0#
单选题
-
对以下场景内的数据满速率传输所能达到的速度,最快的是? D
A.万兆以太网
B.使用SATA3接口的单块固态硬盘
C.USB2.0接口
D.装载着数千块1T硬盘在高速公路上以80km/h行驶的厢式货车 -
以下哪个不是Linux中的系统调用接口?D
A.fork
B.getpid
C.close
D.awk -
设一棵二叉树中有3个叶子节点,有8个度为1的节点,则该二叉树中总的节点数为?B
A.12
B.13
C.14
D.15多选题
-
有100个线程共享某段代码,允许同时最多2个线程并行执行,可以使用什么同步方式?CD
A.读写锁
B.写锁
C.信号量
D.互斥锁+条件变量 -
二叉树前序遍历为:CDBEAF,后序遍历为:BEDFAC,以下哪些可能是中序遍历?AD
A.BDECAF
B.BDCEAF
C.BEDCAF
D.BDECFA -
与IP地址10.4.17.94/28不在同一个子网的是?D
A.10.4.17.92/28
B.10.4.17.93/28
C.10.4.17.95/28
D.10.4.17.96/28单选题
- 以下C++程序的输出是?A
A.foobar
B.bar
C.foo
D.运行时段错误
- 以下C++程序的输出是?A
#include <cstdio >
#include <cstdlib >
#include <cstring >
void GetMemeory(char * &p)
{
p = (char * ) malloc(100);
}
int main()
{
char *str = NULL;
GetMemeory(str);
strcpy(str, "foo");
strcat(str + 2, "bar");
printf("%s", str);
return 0;
}
- 字符串”abbcd"共有多少不同的子串?(字符串"abb"的不同子串分别为:"a", "b", "ab", "bb", “abb”)C
A.12
B.13
C.14
D.15 - 以下代码可以求出序列中任意一段的数字的最大公约数,其时间复杂度为?B
A.O(nnlogn)
B.O(nn)
C.O(nlogn)
D.O(n)
inline int gcd(int a, int b)
{
while (b)
{
int c = a % b;
a = b;
b = c;
}
return a;
}
vector<int> getGcd(const vector<int> &a)
{
int n = a.size();
vector<int> ans(n * n);
for (int i = 0; i < n; i++)
{
int tmp = a[i];
for (int j = i; j < n; j++)
{
tmp = gcd(tmp, a[j]);
ans[i * n + j] = ans[j * n + i] = tmp;
}
}
return ans;
}
- 以下两段求n的阶乘对10^9+7取模的算法中,分别使用了递归和非递归的思路,以下哪些说法是正确的?ACD
A.fact1函数空间复杂度较高
B.fact1函数时间复杂度较高
C.fact2函数可能出现乘法溢出
D.fact1函数可能爆栈const int mod = 1000000007; int fact1(int n) { if (n == 0) return 1; return n * fact1(n - 1) % mod; } int fact2(int n) { int ans = 1; for (int i = 1; i <= n; i++) ans *= i; return ans % mod; }
发表评论