360公司-2018春招笔试-Windows开发工程师客观题合集
时长:120分钟 总分:92分
176浏览 0人已完成答题
题型介绍
题型 | 单选题 | 多选题 |
---|---|---|
数量 | 106 | 11 |
关键字序列为{12,11,19,23,1,6,10},哈希函数为H(key...
请指出以下代码段使用了何种算法public void ...
public void func(int[] arr1, int k, int m,int[] arr2) {
arr2[0] = 0
for (int i = 1 i <= m i++) {
int min = i
for (int j = 0 j < k j++) {
if (arr1[j] <= i) {
int temp = arr2[i - arr1[j]] + 1
if (temp < min) {
min = temp
}
}
}
arr2[i] = min
}
}
已知如下递归代码用于求解图的m着色问题:#define N&nb...
#define N 10
int a[N+1][N+1] //存储图
int x[N+1]//记录颜色
int sum=0//保存可着色方案数
void backtrace(int t,int m)
{
int i
if(t>N)//搜索至叶节点
{
sum++
printf("第%d种方案:\n",sum)
for(i=1i<=Ni++)
printf("%d ",x[i])
printf("\n")
}
else
{
for(i=1i<=mi++) //逐个判断每种颜色
{
if(check(t,i))
{ x[t]=i
backtrace(t+1,m)
}
}
}
}
其中check()函数用于检测某个节点颜色是否合法,以下check()函数正确的是:
一个线性序列(30,14,40,63,22,5),假定采用散列函数Hash...
下列程序段的时间复杂度是(    ...
count = 1;
for(k=1k<2nk*=2)
for(i=1i<4ni+=2)
count++
对于函数y = ax^2 + bx...
设哈希表长m=13,哈希函数H(key)=key MOD&nbs...
#includeusing&nb...
#include <iostream> #include <stack> using namespace std int main() { stack<int> st int pos = 1 while (pos <= 3) { st.push(pos++) } cout << st.top() while (pos <= 5) { st.push(pos++) } while (!st.empty()) { cout << st.top() st.pop() } return 0 }上述程序的输出为()
#includeusing&nb...
#include <iostream> #include <vector> #include <queue> using namespace std int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b) } struct stsort { bool operator () (const int a, const int b) const { if (gcd(30, a) < gcd(30, b)) { return 1 } else if (gcd(30, a) == gcd(30, b)) { return a < b } else return 0 } } int main() { int n = 5 priority_queue<int, vector<int>, stsort>q for (int i = 1 i <= n ++i) { q.push(i) } for (int i = 1 i <= n ++i) { printf("%d", q.top()) q.pop() } return 0 }
#includeusing&nb...
#include <iostream> #include <vector> #include <set> using namespace std int main() { int n = 5 vector<int> a set<int> b for (int i = 1 i <= n ++i) { a.push_back(i) b.insert(i) } for (int i = 1 i <= n ++i) { a.push_back(i) b.insert(i) } cout << a.size() << b.size() << endl return 0 }
#include<bits/stdc++.h>using&nb...
using namespace std
vector<int>g[10]
int ans = 0
void dfs(int x){
if(g[x].size() == 0){
ans++
return
}
for(int i = 0 i < g[x].size() ++i){
dfs(g[x][i])
}
}
int main(){
int n, x
scanf("%d", &n)
for(int i = 2 i <= n ++i){
scanf("%d", &x)
g[x].push_back(i)
}
dfs(1)
cout<<ans<<endl
return 0
}
上述程序的输入为:
9
1 2 2 1 5 6 6 6
则输出为( )
用(a,b,c)表示节点a,b之间有一条权值为c的无向边。对于图(1,2,...
在一棵度为5的树T中,若14个度为5的结点,15个度为4的结点,14个度为...
#include<bits/stdc++.h>using&nb...
using namespace std
int n = 300
int solve(int x){
return x * (n - x)
}
int main(){
int l = 1, r = n
int mid1, mid2
int t = 50
while(t--){
mid1 = l + r >> 1
mid2 = mid1 + r >> 1
if(solve(mid1) > solve(mid2)){
r = mid2
}
else{
l = mid1
}
}
cout<< l <<endl
return 0
}
程序的输出为( )
#include<bits/stdc++.h>using&nb...
using namespace std
int solve(int x){
if(x == 0 || x == 1){
return x
}
if(x % 2 == 0){
return 1 + solve(x / 2)
}
else{
return 1 + solve((x + 1) / 2)
}
}
int main(){
int n = 100
int ans = solve(n)
cout<<ans<<endl
return 0
}
程序的输出为( )
现有磁盘读写请求队列为2、4、0、5、1,若当前磁头在1号磁道上,若采用F...
有4个批处理的作业(A、B、C和D)到达计算中心的时间分别为9:00,9:...
在一个请求分页系统中,假定系统分给一个作业的物理块数为3,刚开始没有一个页...
网络拓扑结构中存在网桥S1、S2、S3、S4,若对应MAC地址分别为AAB...
存在以下三个CIDR地址块192.168.11.0/27、192.168....
终端发送帧序列为1101011111,使用生成多项式为G(x)=x^4+x...
下面代码执行后的结果为( &...
int main() { int sum = 0 int i = 0,j = 0 for(j = 0 j < 6 j++){ if (j%2) continue sum++ } printf("sum = %d", sum) return 0 }
下面程序执行的结果为(    &n...
void main( )
{
char ch1,ch2
ch1 ='D'+'8'-'3'
ch2 ='9'-'1'
printf("%c %d\n",ch1,ch2)
}
关于下面程序说法正确的是(    ...
class Item
{
private:
char *desc
int storage
public:
Item()
{
desc = new char[51]
}
void setInfo(char *dsrc, int num)
{
strcpy(desc,dsrc)
storage = num
}
}
int main()
{
Item stock
stock.setInfo("pen",20)
return 0
}
以下程序运行后的输出结果是( ...
int main() { int a=1,b=2,m=0,n=0,k k=(n=b<a)&&(m=a) printf("%d,%d\n",k,m) return 0 }
下列代码段的打印结果为(    &...
#include <stdio.h>
void main (void)
{
char ac[]="Hello World! C Program",*p
for(p=ac+6p<ac+9p++)
{
printf("%c",*p)
}
}
有关下面程序说法正确的是(    ...
int main()
{
char s[6]= "abcd"
printf("\"%s\"\n", s)
return 0
}
下面程序执行后输出结果为(    ...
#include <stdio.h>
int main()
{
int i, j, m=6,n=4, *p=&n, *q=&m
i=p==&m
j=(-*p)/(*q)+7
printf("i=%d,j=%d\n", i,j)
return 0
}
下列说法正确的是(    &nbs...
#include "stdio.h"
#include "string.h"
void fun( char *s)
{
char t[7]
s=t
strcpy(s, "example")
}
int main()
{
char *s
fun(s)
printf("%s",s)
return 0
}
下面程序的输出结果是(    &n...
#include <stdio.h>
int main()
{
int intArray[] = {1, 2, 3, 4, 5}
int *p = (int *)(&intArray+1)
printf("%d,%d",*(intArray+1),*(p-1))
return 0
}
下面程序的输出结果是(    &n...
#include <stdio.h>
#include <stdlib.h>
void MallocMem(char* pc)
{
pc = (char*) malloc (100)
return
}
int main()
{
char *str=NULL
MallocMem(str)
strcpy(str,"hello ")
strcat(str+2, "world")
printf("%s",str)
return 0
}
在横线处补充(     ...
#include <stdio.h>
int convert(int i)
{
return ___________________
}
int main()
{
int value = 7
printf( "%x\n", convert(value) )
return 0
}
在32系统下输出的结果为(    ...
#include <stdio.h>
#pragma pack(2)
struct Test1
{
int a
char b
short c
int *d
}A
#pragma pack()
#pragma pack(4)
struct Test2
{
int *d
char b
int a
short c
}B
#pragma pack()
int main()
{
printf("%d,%d\n",sizeof(A),sizeof(B))
return 0
}
对下面变量声明描述正确的有()int *p[n]int&nbs...
int *p[n]
int (*)p[n]
int *p();
int (*)p()
下面代码打印结果为()union package{ c...
union package
{
char head
int body
}
struct message
{
char id
int crc
union package pack
}
int main()
{
printf("size=%d\n",sizeof(struct message))
return 0
}
定义宏#define DECLARE(name, ty...
则DECLARE(val, int)替换结果为()
下面程序打印结果为()#include<iostream>us...
#include<iostream>
using namespace std
class A
{
char a[3]
public:
virtual void fun1(){}
}
class B : public virtual A
{
char b[3]
public:
virtual void fun2(){}
}
class C : public virtual B
{
char c[3]
public:
virtual void fun3(){}
}
int main ()
{
cout << sizeof(A) << endl
cout << sizeof(B) << endl
cout << sizeof(C) << endl
return 0
}
下面代码打印结果为()class Base {&nbs...
class Base {
char data[3]
public:
virtual void f() { cout << "Base::f" << endl }
virtual void g() { cout << "Base::g" << endl }
virtual void h() { cout << "Base::h" << endl }
}
int main()
{
cout << sizeof(Base)<< endl
return 0
}
有转义字符如下:'\0X41'、'\0x41'、'\X41'、'\x41'...
'\0X41'、'\0x41'、'\X41'、'\x41'、'\a'、'\b'、'\c'、'\r'
其中错误的转义字符个数是
#include "file.h"和#inc...
下列程序的功能是输出a数组中小写字母的个数,请为横线处选择合适的程序(&n...
#include <stdio.h>
main()
{ char a[]="123abc"
int i,num=0
for(i=0_________i++)
if(a[i]>='a'&&a[i]<='z') num++
printf("%d\n",num)
}
请将B类的构造函数补充完整,要求用x初始化a.请为横线处选择合适的程序(&...
class A
{ int a
public:
A(int x=0) { a=x } }
class B: public A {
int b
public:
B(int x): ______________
{ b=x+1 } }
#include <bits/stdc++.h>us...
using namespace std
int main() {
int n
scanf("%d", &n)
map <int, int> xs
map <int, int> ys
map < pair <int, int>, int > zs
long long ans = 0
for (int i = 0 i < n i++) {
int x, y
scanf("%d %d", &x, &y)
ans += (xs[x]++)
ans += (ys[y]++)
ans -= (zs[make_pair(x, y)]++)
}
cout << ans << endl
return 0
}
输入:
6
0 0
0 1
0 2
-1 1
0 1
1 1
则上述程序输出为( )
#include <bits/stdc++.h>us...
using namespace std
int main(){
int n = 1001
int ans = 0
for(int i = 1 i <= n ++i){
ans ^= i % 3
}
cout << ans << endl
}
则上述程序输出为( )
以PROCESS_VM_WRITE | PROCESS...
关于CreateFile的dwFlagsAndAttributes参数选项...
调用CreateEvent时,bManualReset传递FALSE,bI...
关系模式R(U,F),U={A,B,C,D,E,F},函数依赖F={A&r...
使用迪杰斯特拉(Dijkstra)算法求下图中从顶点1到其他各顶点的最短路...
