面试题-思维

发布在 思维能力

目录

  1. 题目: 给定两个整数a和b,要求在使用任何辅助空间的情况下,交换两个的值
  2. 题目: 给两个杯子,一个5升,一个6升,水随便用,最后取出3升水
  3. 题目: 给10个箱子,有一个比其他得要轻,用最少的比较次数找出这个箱子

题目: 给定两个整数a和b,要求在使用任何辅助空间的情况下,交换两个的值

方法一:

1
2
3
a = a + b;
b = a - b;
a = a - b;

方法二:

1
2
3
a = a^b;
b = a^b;
a = a^b;

题目: 给两个杯子,一个5升,一个6升,水随便用,最后取出3升水

方法:

  1. 6升装满倒入5升杯子,6升杯子里剩1升水;
  2. 6升杯子中的1升倒入5升杯子;
  3. 6升杯子装满水倒入5升杯子,6升杯子里剩2升水;把5升杯子水倒掉;
  4. 6升杯子中的2升倒入5升杯子;
  5. 6升杯子装满水倒入5升杯子,6升杯子里剩3升水,完成。

题目: 给10个箱子,有一个比其他得要轻,用最少的比较次数找出这个箱子

方法:
二分法:
用天平左右各五个进行称量,10 => 5
较轻的一组留下一个,继续进行分开称量,如果左右相等,则剩余的那一个为最轻的,否则剩下的两个继续进行比较5 => 1 || 5 => 2
最后一次比较 2 => 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
为了能让用户尽快找到低价机票,我们从服务器渠道航班数据后需要按价格进行排序,然后展示给用户。

排序规则:

1、按照价格从低到高进行排序

2、相同价格按照 rank 值同高到低排序

排序完成后按行输出 name:rank:code:price

输入
一行包含航班数据的json字符串

输出
按行输出排序后的航班

行模板:name:rank:code:price


样例输入
{"k3845":{"name":"name3012","price":2715,"rank":1},"k3489":{"name":"name2855","price":3105,"rank":1}}
样例输出
name3012:1:k3845:2715
name2855:1:k3489:3105
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1. 成人至少选择一个,儿童可不选

2. 一次最多只能指定9个乘机人

3. 一个成人最多只能携带2个儿童出行

输入
输入成人和儿童个数

输出
如果成人和儿童数量不符合规则,输出:选择不合法

否则输出:

第一行:成人可选择的数量
第二行:儿童可选择的数量


样例输入
1,2
样例输出
1,2,3,4,5,6,7
0,1,2

评论和共享

  • 第 1 页 共 1 页
Copyrights © 2019 LittleStar. All Rights Reserved. 载入天数...载入时分秒...
字数统计:147.2k
作者的图片

LittleStar

纵豆蔻词工,青楼好梦,难赋深情


程序员


China