首页 > 2021-03-29阿里笔试题目
头像
lk0423
编辑于 2021-03-29 22:03
+ 关注

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
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


【注:原题不是这么描述的,只记得大致题目意思了】

全部评论

(4) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐