#美团笔试#
老哥们送外卖这个哪里错了,直接排序不行吗
public class Main {
static class Pay {
int vals;
int weight;
int id;
public Pay(int vals, int weight, int id) {
this.vals = vals;
this.weight = weight;
this.id = id;
}
int pay() {
return vals + weight * 2;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(), m = sc.nextInt();
Pay[] pays = new Pay[n];
for (int i = 0; i < n; i++) {
pays[i] = new Pay(sc.nextInt(), sc.nextInt(), i);
}
Arrays.sort(pays, (p1, p2) -> {
int t = p2.pay() - p1.pay();
if (t == 0) {
return p1.id - p2.id;
}
return t;
});
for (int i = 1; i < m; i++) {
System.out.println((pays[i].id + 1) + " ");
}
}
}
老哥们送外卖这个哪里错了,直接排序不行吗
public class Main {
static class Pay {
int vals;
int weight;
int id;
public Pay(int vals, int weight, int id) {
this.vals = vals;
this.weight = weight;
this.id = id;
}
int pay() {
return vals + weight * 2;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(), m = sc.nextInt();
Pay[] pays = new Pay[n];
for (int i = 0; i < n; i++) {
pays[i] = new Pay(sc.nextInt(), sc.nextInt(), i);
}
Arrays.sort(pays, (p1, p2) -> {
int t = p2.pay() - p1.pay();
if (t == 0) {
return p1.id - p2.id;
}
return t;
});
for (int i = 1; i < m; i++) {
System.out.println((pays[i].id + 1) + " ");
}
}
}
全部评论
用剑指topK的方法,做到55,不知道漏了哪个情况
我也是这样写的,很迷惑
相关推荐
03-03 21:32
上海电机学院 产品经理 点赞 评论 收藏
分享
02-25 16:29
齐鲁工业大学 golang
找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。
你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。
工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。 点赞 评论 收藏
分享

