字节跳动 笔试 4道算法题
- RGB转换
- 题意:把RGB数字转换成一个整数
- 输入为字符串:RGB(30, 20, 255)
- 输出为整数:1971455
- 计算过程为:30 * 256 * 256 + 20 * 256 + 255 = 1971455
- 调度问题
- 题意:有n个处理器,有m个任务;每个任务应当放在处理器编号偏小的处理器来处理。
- 输入为n,m (n, m≤10^6),接下来m行,表示任务的开始时间和需要处理的时间;输出为每个任务会放在哪个处理器执行。
- 输入:
3 7
2 8
3 4
4 3
6 1
7 1
8 3
10 2 - 输出:
1 2 3 2 3 2 1 - 思路:两个priority queue
- 学生换装
- 学生穿白衣,0表示,穿黑衣,1表示。可以用一串字符串01101来表示学生的穿衣颜色。 学生围成一个圈,对每个学生而言,如果相邻同学的衣服和自己一样,那么下一天该学生会穿另一种颜色的衣服。当后一天和前一天的穿着结果是相同时,需要输出:前一天是第几天,以及有个性的人数(有个性就是颜色和相邻二人都不同)。如果出现无限循环,则输出-1 -1。
- 输入:
4
0000
4
1110 - 输出:
-1 -1
2 4 - 思路:
110001000 -> 2313
那么天数=(3+1)/2=2,个性数为:2+3+1+3=2(偶数+2,奇数直接加)
111001100000011 -> 32262 (X)
111001100000011 -> 111110011000000 -> 5226 (√)
那么天数=6/2=3,个性数为:5+2+2+2=11
- 有n个数(n取值3~9),两两相加,可以得到n(n-1)/2个值。求这n个数是多少?若没有答案,输出Impossible
输入:
3 25 16 21
输出:(升序)
6 10 15
思路:?