360公司-2018春招笔试-iOS开发工程师客观题合集
时长:120分钟 总分:91分
193浏览 0人已完成答题
题型介绍
题型 | 单选题 | 多选题 |
---|---|---|
数量 | 104 | 12 |
关键字序列为{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...
对于函数y = ax^2 + bx...
设哈希表长m=13,哈希函数H(key)=key MOD&nbs...
#include<bits/stdc++.h>using&nb...
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
}
上述程序的输出为( )
#include<bits/stdc++.h>using&nb...
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
}
程序的输出为( )
#include<bits/stdc++.h>using&nb...
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
}
程序的输出为( )
上述程序的输入为:
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...
某IT公司人事管理采用专门的人事管理系统来实现。后台数据库名为LF。新来的...
下面代码执行后的结果为(    &...
int main()
{
int sum=0
int i=0,j=0
for(j=0j<6j++)
{
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)
}
在32位系统中,关于下面程序说法正确的是(  &nbs...
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)替换结果为()
在32位系统中,下面程序打印结果为()#include<iostre...
#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'
其中错误的转义字符个数是
下列程序的功能是输出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
}
则上述程序输出为( )
NSMutableString * s =&...
NSLog(@"s = %p",s)
[str appendFormat:@"world"]
NSLog(@"s = %p",s)
上述代码两次打印地址的值是否相同( )
NSString *string = [[N...
[string retain]
[string release]
[string release]
执行代码后,string对象的retain count( )
NSArray *array = [NSAr...
打印[array count]的值为( )
ios哪个版本后,所有的新提交 app 默认是不允许使...
以下代码输出顺序是?(    &n...
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
dispatch_async(queue, ^{
sleep(1)
NSLog(@"1")
})
dispatch_sync(queue, ^{
NSLog(@"2")
})
dispatch_async(queue, ^{
NSLog(@"3")
})
以下代码输出顺序是?(    &n...
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
dispatch_async(queue, ^{
NSLog(@"1")
})
dispatch_sync(queue, ^{
sleep(1)
NSLog(@"2")
})
dispatch_async(queue, ^{
NSLog(@"3")
})
当前有两个 ViewController已被显示到根视图中,控制...
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad]
static int number = 1
NSLog(@"%d", number)
number += 2
static dispatch_once_t onceToken
dispatch_once(&onceToken, ^{
number -= 1
})
NSLog(@"%d", number)
}
@end
有以下ViewController类,当前显示了一个MyViewContr...
@interface MyViewController ()
@property (nonatomic, weak) NSTimer *timer1
@property (nonatomic, strong) NSTimer *timer2
@end
@implementation MyViewController
- (void)viewDidLoad {
[super viewDidLoad]
_timer1 = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(onTimer:) userInfo:@{@"obj":@(1)} repeats:YES]
}
- (void)onTimer:(NSTimer *)timer{
NSLog(@"%@", timer.userInfo[@"obj"])
}
- (void)dealloc{
NSLog(@"dealloced")
[_timer1 invalidate]
_timer2 = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(onTimer:) userInfo:@{@"obj":@(2)} repeats:YES]
}
@end
使用迪杰斯特拉(Dijkstra)算法求下图中从顶点1到其他各顶点的最短路...
