失效链接处理 |
字节跳动Java笔试面试题 PDF 下载
本站整理下载:
相关截图:
主要内容:
1. 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello
2. 两对一样的字母(AABB 型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:
比如 helloo -> hello
3. 上面的规则优先“从左到右”匹配,即如果是 AABBCC,虽然 AABB 和 BBCC 都是错误拼写,
应该优先考虑修复 AABB,结果为 AABCC
请听题:请实现大锤的自动校对程序
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int line = scanner.nextInt();
scanner.nextLine();
for (int i = 0; i < line; i++) {
System.out.println(scanner.nextLine().replaceAll("(.)\\1+","$1$1").replaceAll("(.)\\1(.)\\2",
"$1$1$2"));
}
}
}
我叫王大锤,是一名特工。我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连
顺。和我一起行动的还有另外两名特工,我提议
1. 我们在字节跳动大街的 N 个建筑中选定 3 个埋伏地点。
2. 为了相互照应,我们决定相距最远的两名特工间的距离不超过 D。
我特喵是个天才! 经过精密的计算,我们从 X 种可行的埋伏方案中选择了一种。这个方案万
无一失,颤抖吧,孔连顺!
……
万万没想到,计划还是失败了,孔连顺化妆成小龙女,混在 cosplay 的队伍中逃出了字节跳
动大街。只怪他的伪装太成功了,就是杨过本人来了也发现不了的!
请听题:给定 N(可选作为埋伏点的建筑物数)、D(相距最远的两名特工间的距离的最大
值)以及可选建筑的坐标,计算在这次行动中,大锤的小队有多少种埋伏选择。
注意:
1. 两个特工不能埋伏在同一地点
2. 三个特工是等价的:即同样的位置组合(A, B, C) 只算一种埋伏方法,不能因“特工之间互
换位置”而重复使用
import java.util.*;
public class Main {
private int mod = 99997867;
private void sln() {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(), D = sc.nextInt();
long cnt = 0;
if (N <= 2) {
System.out.println(-1);
return;
}
int[] locs = new int[N];
for (int i = 0; i < N; i++) {
locs[i] = sc.nextInt();
}
sc.close();
int left = 0, right = 2;
while (right < N) {
if (locs[right] - locs[left] > D) left++;
else if (right - left < 2) right++;
else {
cnt += calC(right - left);
right++;
}
}
cnt %= mod;
System.out.println(cnt);
}
private long calC(long num) {
return num * (num - 1) / 2;
}
public static void main(String[] args) {
new Main().sln();
}
}
|