关注
发一下前三题100%的代码吧……最后一题快写出来了……但是估计还要半个小时才能调试出来 1. 起床 package a;
import java.util.Scanner;
public class Main {
static class Clock implements Comparable<Clock>{
int hour, minute;
public Clock(int hour, int minute) {
this.hour = hour;
this.minute = minute;
}
@Override
public int compareTo(Clock o) {
if (this.hour != o.hour) {
return this.hour - o.hour;
}
return this.minute - o.minute;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Clock[] clocks = new Clock[n];
for (int i = 0; i < n; i++) {
int hour = scanner.nextInt();
int minute = scanner.nextInt();
clocks[i] = new Clock(hour, minute);
}
int route = scanner.nextInt();
Clock lesson = new Clock(scanner.nextInt(), scanner.nextInt());
while (lesson.minute < route) {
lesson.hour -= 1;
route -= 60;
}
lesson.minute -= route;
Clock latest = clocks[0];
for (int i = 0; i < clocks.length; i++) {
if (clocks[i].compareTo(lesson) <= 0 && clocks[i].compareTo(latest) >= 0) {
latest = clocks[i];
}
}
System.out.println(latest.hour + " " + latest.minute);
}
}
2. 解密 package b;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int k = scanner.nextInt();
String secret = scanner.next();
char[] result = new char[n];
result[0] = secret.charAt(0);
for (int i = 1; i < k; i++) {
result[i] = xor(secret.charAt(i), secret.charAt(i - 1));
}
for (int i = k; i < n; i++) {
result[i] = xor(xor(secret.charAt(i), secret.charAt(i - 1)), result[i - k]);
}
System.out.println(new String(result));
}
private static char xor(char a, char b) {
return a == b ? '0' : '1';
}
}
3. 分钱 package c;
import java.util.*;
public class Main {
public static final int MIN_MONEY = 100;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
// 年份对应的座位号
TreeMap<Integer, List<Integer>> map = new TreeMap<>();
int[] people = new int[n];
for (int i = 0; i < n; i++) {
people[i] = scanner.nextInt();
if (!map.containsKey(people[i])) {
map.put(people[i], new ArrayList<>());
}
map.get(people[i]).add(i);
}
int[] money = new int[n];
int[] tmp = new int[n];
while (!map.isEmpty()) {
int lowestKey = map.firstKey();
for (int i : map.get(lowestKey)) {
if (i == 0) {
tmp[i] = money[i + 1] + 100;
} else if (i == n - 1) {
tmp[i] = money[i - 1] + 100;
} else {
tmp[i] = Math.max(money[i - 1], money[i + 1]) + 100;
}
}
for (int i : map.get(lowestKey)) {
money[i] = tmp[i];
}
map.remove(lowestKey);
}
int sum = 0;
for (int i : money) {
sum += i;
}
System.out.println(sum);
}
}
前三题都还可以……一个小时就做完了,但是最后一题想贪全最后没有做完,还是太菜了
查看原帖
点赞 1
相关推荐
查看12道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 27届暑期前端高频面试题汇总(字节百度阿里快手等多家大厂)6058
- 2... 字节三面3188
- 3... 美团计划裁员30%,测试和产品砍一半,测试全栈化时代来了!2019
- 4... 26前端的深夜1441
- 5... 你说你用Claude,你用的是 CLI,还是 Agent、Opus?1211
- 6... 字节实习一个月祛魅了1058
- 7... 继续实习VS暑假沉淀,怎么选....1053
- 8... 今天陌陌的笔试怎么样1026
- 9... 收到了字节的AIoffer911
- 10... xdm,开发投麻了,顺手试试投了测试,但是又有点犹豫1. 如果干了测试,以后找正式的开发是不是会更难?(没到万不得已,我还是想走开发)2. 合同签一年,这个会不会太久了?值得一去吗?给点建议#实习,不懂就问#623
正在热议
更多
# 要毕业了,再不说就来不及了 #
25724次浏览 335人参与
# 拼多多集团-PDD笔试 #
114830次浏览 702人参与
# 拼多多工作体验 #
68661次浏览 465人参与
# 求职遇到的搞笑事件 #
202928次浏览 1042人参与
# 找工作时遇到的神仙HR #
1253942次浏览 5958人参与
# 体制内上岸心路历程 #
40239次浏览 234人参与
# 职场吐槽大会 #
368460次浏览 2317人参与
# 小米求职进展汇总 #
1085135次浏览 6551人参与
# 你都用AI做什么 #
56420次浏览 528人参与
# 国庆前的秋招小结 #
305341次浏览 1758人参与
# 硬件人秋招进展 #
298263次浏览 4056人参与
# 满分简历要如何准备? #
323780次浏览 3386人参与
# 三月的小目标 #
144564次浏览 1226人参与
# AI时代下,你的岗位要求有什么变化? #
43487次浏览 290人参与
# 得物app工作体验 #
71363次浏览 125人参与
# 你是怎么和mt相处的? #
112002次浏览 583人参与
# 我的AI电子员工 #
45301次浏览 262人参与
# 担心入职之后被发现很菜怎么办 #
309132次浏览 1237人参与
# 万物皆可发面经 #
7874次浏览 94人参与
# 现在还是0offer,延毕还是备考 #
1436117次浏览 7971人参与

