目录
110. 同一个IP同一个端口可以同时建立tcp和udp的连接吗
112. 假如已知有n个人和m对好友关系(存于数字r)。如 果两个人是直接或间接的好友(好友的好友的好友…),则 认为他们属于同一个朋友圈,请写程序求岀这n个人里一共 有多少个朋友圈。
113. 请问如何保证単例模式只有唯一实例?你知道的都有哪些方法?
118. 我们在将某个订单送给某一司机之前,需要计算一下这 个司机选择接受这个订单的概率,现有A,B两个订单,对某 一司机。已知;
101. 分现在有10个人被一个魔鬼逮住了。魔鬼对于直接把人 杀掉的方法不感兴趣了。于是,他就想了一个杀人的新花样。 是这样的,一天晚上,魔鬼向着十个人宣布了游戏规则,即 明天早上他要把10个人排成一排,然后从一堆既有无限多 的白帽子混着无限多黑帽子的帽子堆为每个人随机抽取一 顶帽子,给他们10个人都戴上帽子。因为10个人是排成一 排的,所以排在第10个的人可以看到前面9个人帽子的颜 色,排在第9个人可以看到前面8个人的帽子的颜色,…以 此类推。然后,魔鬼会从排在第10个人开始,问他,你头 上的帽子的颜色是白色还是黑色,如果答对了,就放他走; 如果答错了,就被杀掉。然后同样问排在第9位的人,然后 问排在第8位的人,.…以此类推。在这其中,10个人所能做 的只有当他被魔鬼问到的时候,答白色或者黑色。不能有超 越此范围的任何行动,不然,魔鬼会把它们10个人全部杀 死。
现在魔鬼给他们10个人一晚上的时间去商量一个对策,使 得他们中能存活下来的人越多越好。请问,你会有什么样的 对策,请计算出按照你的对策执行时最坏的情况下,他们中 能有多少人能100%够活下来?期望能活下来的人数又是多 少?
大家约定白代表偶,黑代表奇,则第10个人的回答是前9个帽子中白帽的数量的奇偶。 他自己有50%的机会。-第9个人听到他的回答后,结合他看到的8顶帽子中白帽的奇 偶,可以知道自己的帽子的颜色,如实作答。第8个人知道9顶帽子中白帽的奇偶,加 上听到第9顶帽子的颜-色,就可以知道前8顶帽子中白帽的奇偶(如果第9个人答白, 则前8顶中的白帽奇偶性与第第10个人所说的相反;如果第9个人答黑,则相同),再 结合所看到前7顶-帽子中的白帽数量,也可以推出自己的帽子颜色,也如实作答。依 此类推,前9个人都可以活下来,第1个人有一半机会。
102. 遍历输入流,将符号和数字分开存到两个数组里,减号作为数字的负数。然后在符号集里面找*或者/,找到就把对应的数组集两个操作数比较并排序。
然后数组被分割成三段,中间是乘法和两个交换数,两边是没有操作的数据,然后分别对两边做递归。
如果没有找到*或者/说明全是加法,直接对数组的数据进行 排序。
#include <iostrearn〉
#include 〈vector〉
#include〈math. h>
using namespace std;
/林
1 + 2 + 1+-4 *-5 + 1
1 + 1 + 2 +-5 *-4 + 1
*/
int data[100];
char fuhao L100J;
/林
*快排序
* ©param a
* ©param low
* ©param high
*/
void quicksort (int af], int low , in,: high)
if (low<high)
[
int i = low, j = high;
int x = a[low];
while(i〈j)
[
while(i<j && a[j] >= x) j—; if(i<j) a[i++] = a[j];
while(i<j && a[i] <= x) i++; if(i<j) a[j—] = a[i];
a[i] = x;
quicksort (a, low , i-l); quicksort (a, i+1 , high);
void my Sort (int data[], char fuhao int begin, int end) { for (int i = begin; i < end; ++^) {
if (fuhao [i] == W | | fuhao [i] == ' /') {
//先对乘除两边进行排序
if (data[i] > data[i+1];{
int temp = data[i];
data[i] = data[i+1].
data[i+1] = temp;
my Sort (data, fuhao, begin, i-l); my Sort (data: fuhao, i+2, end); return;
//