2021-03-29阿里笔试题目
(1)小明和我参加班长的选举投票,投票人数为n,每人可以投K票,第一行输入为投票人数,第二行输入为每个人投给小明的票数求保证我能获胜最小的K。
例如下面的示例,由于小明获得1+1+1+5+1=9票,则我获得4+4+4+0+4=12票,我获胜,此时5最小。
输入:
5
1 1 1 5 1
输出:
5
输入:
5
1 1 1 5 1
输出:
5
import java.util.Scanner;
public class Q1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
String num = sc.nextLine();
String[] s = num.split("\\s+");
int bSize = 0;//小明获取的票数
int maxB = 0;//个人投的最高票数
int b;
for (int i = 0; i < n; i++) {
b = Integer.parseInt(s[i]);
bSize += b;
if (maxB <= b) {
maxB = b;
}
}
int k;
for (k = maxB; k * n <= 2 * bSize; k++){
}
System.out.println(k);
}
}
(2)要求n各城市中有m条道路,求在距离d以内,从一个城市到其它城市的数量最少,如遇到数量相同,则选择输出编号最大的那个城市。
第一行,测试数据的组数:t组
第二行:n(城市数量) m(道路条数) d(要求距离)
接下来m行:l(城市编号) r(城市编号) w(距离)
例如:
输入:
1
4 4 4
0 1 3
1 2 1
2 3 1
1 3 4
输出:
3
第一行,测试数据的组数:t组
第二行:n(城市数量) m(道路条数) d(要求距离)
接下来m行:l(城市编号) r(城市编号) w(距离)
例如:
输入:
1
4 4 4
0 1 3
1 2 1
2 3 1
1 3 4
输出:
3
【注:原题不是这么描述的,只记得大致题目意思了】
#笔试题目##阿里巴巴#
查看14道真题和解析