滴滴打车And 360 校招 2016 在线笔试(一)

1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

一根从一头少,一根从两头烧,再有一根做参照,两头烧完的记下位置(即烧到这里要半小时),把参照的那根从标记位置处剪开,取其中一段A。 一头烧的那根烧完后(就是一个小时后),把A从两头开始烧,烧完后即为十五分钟,加起来共一小时十五分钟。

2.

10000/16 =625 (4) =312+313(5)=156+157(6)=78+79(7)=39+40(8)=19+20(9)=10+9(10)=4+5(11)=2+3(12)=1+2(13)=1(14)

这道题的本质是求2^x<=10000,x为13,在这里再加1就行了。

3.

规律是上面的数字为八进制数字。

4.


选择排序和插入排序,要求的辅助空间都是O(1),快速排序的辅助空间为O(logn),主要是栈空间。归并排序要求的辅助空间为O(n)。

5.


答案为C。

6. 关于ARP表,以下描述中正确的是(

A.提供常用目标地址的快捷方式来减少网络流量

B.用于建立IP地址到MAC地址的映射

C.用于在各个子网之间进行路由选择

D.用于进行应用层信息的转换

B

ARP协议的作用是由目标的IP地址发现对应的MAC地址。如果源站要和一个新的目标通信,首先由源站发出ARP请求广播包,其中包含目标的IP地址,然后目标返回 ARP应答包,其中包含了自己的MAC地址。这时,源站一方面把目标的MAC地址装入要发送的数据帧中,一方面把得到的MAC地址添加到自己的ARP表中。当一个站与多个目标进行了通信后,在其ARP表中就积累了多个表项,每一项都是IP地址与MAC地址的映射关系。ARP表通常用于由IP地址查找对应的MAC地址。

7.


在C++中用class定义的类中,其成员的默认存取权限是private;
在C++中用struct定义的结构体中,其成员的默认存取权限是public;

所以这里weight的属性为private。选择C。

8.A. Put NONE in /etc/telnet.allow

B. Put a line 'ALL:ALL' in /etc/hosts.deny
C. Comment the telnet entry in /etc/inittab
D. Comment the telnet entry in /etc/inetd.conf  

答案为D,只要记住telnet端口号为23,并且守护进程为inetd。

9.下面程序的输出为多少?

#include<stdio.h>
typedef struct{
    char name[9];
    char sex;
    float score[2];
}STU;
STU f(STU a)
{
    STU b={"zhao",'m',85,90};
    int i;
    a=b;  //结构可以直接赋值给结构
    return a;
}
main()
{
    STU c={"Qian",'f',95.0,92.0};
    STU r;
    r = f(c);
    printf("%s,%c,%f,%f\n",c.name,c.sex,c.score[0],c.score[1]);
    printf("%s,%c,%f,%f\n",r.name,r.sex,r.score[0],r.score[1]);
    return 0;
}

在本题中注意,函数调用时传入到函数f的c不是一个结构体指针,而是一个c。输出为

Qian,f,95.000000,92.000000

zhao,m,85.000000,90.000000

10.下面程序的输出结果是?

#include<iostream.h>
void main(){
    int n[][3]={10,20,30,40,50,60};
    int (*p)[3];
    p=n;
    cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;
}

答案为10, 20, 30。

*(p[0]+1):p[0]第一行的首元素列地址,加1就是下一列,然后取值


11. 以下代码执行的结果是()  
<?php 
    mysql_connect("localhost","root","")
    $result=mysql_query("select id,namefrom tb1");
    while($row=mysql_fetch_array($result,MYSQL_ASSOC))
    {echo"ID;",$row[0],"Name;",$row[];}
?>
1.链接完 数据库后并没有选择数据库
2.sql中也没有给出  select id,namefrom tb1 
3.sql 语句错误    select id,namefrom tb1
4.MYSQL_ASSOC 选项表示一关联数组显示结果,所以 $row[0] 和 $row[] 是错误的。

最终,编译出错
mysql_fetch_array 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有
print_r(mysql_fetch_array($result));
Array
(
[0] => Adams
[LastName] => Adams
[1] => John
[FirstName] => John
[2] => London
[City] => London
) 
本题可能考察mysql_fetch_assoc和上面的区别
while (  $row     mysql_fetch_assoc  (  $result  )) {
    echo 
  $row  [  "userid"  ];
    echo 
  $row  [  "fullname"  ];
    echo 
  $row  [  "userstatus"  ];
}

正确示例:
<?php
    mysql_connect
  (   "localhost"     "mysql_user"     "mysql_password"   ) or
        die(
  "Could not connect: "      mysql_error   ());
    
  mysql_select_db   (   "mydb"   );

    
  $result      mysql_query   (   "SELECT id, name FROM mytable"   );

    while (
  $row      mysql_fetch_array   (   $result     MYSQL_ASSOC   )) {
        
  printf    (   "ID: %s  Name: %s"     $row   [   "id"   ],    $row   [   "name"   ]);
    }

    
  mysql_free_result   (   $result   );
?>
12.下列类定义代码,当用来声明对象  car,并用 Car car = new Car(); 实例化后,可以通 过 car 对象直接赋值的字段是( D ) 。
 public class Car {
 public string type; 
string No; 
private int heavy;
 double speed; 
protected string owner; 
public string price; 
private string color;
 } (
A)type No (B)heavy owner (C)type owner price (D)type price 
记住:默认权限为private。只能自己访问自己。 public 任何地方都可以访问,protected 为保护类型,子类或本集内才可以访问.
所以答案为D。
13. 32M内存按照字节编码内存地址,则至少需要多少位?
2^5*2^10*2^10=2^25,至少25位。
14.char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是
 A)p=s; B)p=k; C)p=s[0]; D)k=s
a[1][2]:a是行指针,a[0]就是列指针。a[2]:&a就是行指针,a是列指针。int (*a)[10]:数组指针;int *a[10]:指针数组,记住这几点,应该都没问题的啦
s所以这里选择C。
15. 在统计模式分类问题中,当先验概率未知时,可以使用( ②④ )。

①最小损失准则;②最小最大损失准则;③最小误判概率准则;④N-P判决。

最小最大损失准则:基本思想是类先验概率未知,考虑先验概率变化对于错误率的影响,找出使最小贝叶斯风险最大的先验概率,以这种最坏情况设计分类器。适用于P(wi)未知或是变动的情况

最小误判概率准则:难于确定误判的代价。如果条件允许的话,可以避开使用损失函数,而采用最小误判概率准则。(这种准则是本人之前接触最多的)。

N-P准则:某一种错误较另外一种错误更加重要。

最小损失准则:使条件平均损失最小的判决也必然使总的平均损失最小。所以最小条件平均损失准则也称为最小平均损失准则或最小平均风险准则,简称为最小损失准则。


实际问题中,可能存在以下几种情况:

⑴不知道各类的先验概率P(wi);

⑵难于确定误判的代价lij 

⑶某一种错误较另一种错误更为重要。

针对⑴,可以采用最小最大损失准则或令各类概率相等的办法克服;

针对⑵,如果允许,可以避开使用损失函数而采用
最小误判概率准则;

针对(3),可以采用最小损失准则判决。针对上面三个问题,更主要的是针对⑶,可采用N-P准则。


16.、位势函数法的积累势函数K(x)的作用相当于Bayes判决中的(  ②④  )。 

①先验概率;②后验概率;③类概率密度;④类概率密度与先验概率的乘积。

17.A矩阵大小为m*n,B矩阵大小为n*p,则A*B的复杂度为m*n*p。

18.Fisher 线性判别函数的求解过程是将N维特征矢量投影在(一维 )中进行求解?

Fisher线性判别 应用统计方法解决模式识别问题时,一再碰到的问题之一是维数问题。在低维空间里解析上或者计算上行的通的方法,在高维空间里往往行不通。因此,降低维数就成为处理实际问题的关键。我们考虑把d维空间的样本投影到一条直线上,形成一维空间,即把维数压缩到一维。然而,即使样本在d维空间里形成若干紧凑的互相分开分得开的集合,若它们投影到任意一条直线上,也可能使得几类样本混在一起而变得无法识别。但在一般情况下,总可以找到某个方向,使得在这个方向的直线上,样本的投影能分开的最好。问题是如何根据实际情况找到这条最好的、最易于分类的投影线。这就是Fisher方法要解决的问题

19.影响聚类算法结果的主要因素有(  B C D  )。 
A.已知类别的样本质量;B.分类准则;C.特征选取;D.模式相似性测度

20.32位的机器上,如果要用位图来保存65536个不重复的无符号整型值,最小需要为位图分配多大的内存

位图表示法,指明该无符号整数是否存在,只需1位(bit)即可表示。
对于65536个不重复的整数,最少需要65536位来表示,65536 bit = (2 16 / 2 3)byte = 2 13 byte = 8k byte.
21.
有三个白人被一个印第安人反对部落俘虏了。部落的首领愿意把他们放了,所以他把他们领到一根没有亮光的帐篷里。他给了每人一条头巾(他有5条头巾,3白2红,所以有2条是没有用到的)。然后他们排着队出去。这样,每个人都可以看到前面人的头巾颜色,但是看不到自己头巾的颜色(第一个走出去的看不到任何头巾,第二个可以看到第一个人的头巾,第三个人可以看到前面两个人的头巾)。如果其中一个人说出了自己头巾的颜色,那么所有人都可以被放了。几分钟的沉默后,其中一个人说:"我头巾的颜色是。。。"。然后他们就被放了。问题是第几个人说的?头巾是什么颜色的?()
附件条件:你可以设想所有的囚犯都是足够聪明的,而且他们对同伴的智慧也很有信心他们猜错一次就会被监禁。所有人加起来只能猜一次所有人都想被释放。
  • 第三个人:红色
  • 第三个人:白色
  • 第二个人:红色
  • 第一个人:白色
解答:
一共有以下四种情况:
1)第一个红色,第二个红色;此时,第三个人不用沉默,直接说,我是白色。
2)第一个红色,第二个白色;此时,沉默一会儿,第二个人想,如果我是红色,前面也是红色,第三个人早就说自己是白色了,他没有说,说明我是白色。(但题目没有此选项)
3)第一个白色,第二个红色;
4)第一个白色,第二个白色;
3和4情况下,会沉默两会儿(^-^比一会儿时间长些),第一个就想了,如果是前两种情况,等了这么就久后面两个人该说话了,他们不说,说明不确定是哪种情况,但对自己而言3和4都是白色,所以说自己是白色的。

达到目的的前提,大家有一个时间观念能够区分,直接说出、等一会儿,等两会儿的时间概念。(好在这个题没有 “第二个白色” 的选项,所以不用纠结这个几分钟的沉默是等一会儿还是等两会儿)

答题的关键是举出所有可能的情况,然后利用反证等方法对某些情况进行排除。
22. 将一棵有100个结点的完全二叉树从根这一层开始,开始进行层次遍历编号,那么编号最小的叶节点的编号为(根节点为1)
  • 49
  • 50
  • 51
  • 52
最小编号的叶子一定是最后一个节点的父节点的右兄弟节点, 最后节点编号100,父节点编号为50,所以答案是51

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值