美团秋招8/31笔试
总结:A了俩道,第三题没有头脑
第一题
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
String[] s = input.split(" ");
int ans =0;
for(int i=0; i<s.length; i++){
if(s[i].length()>0){
if(s[i].charAt(0)>='A'&&s[i].charAt(0)<='Z'){
ans++;
}
}
}
System.out.println(ans);
}
}
第二题
import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int k = scanner.nextInt();
int []a = new int[n];
for(int i = 0; i < n; i++){
a[i] = scanner.nextInt();
}
Arrays.sort(a);
int m = k/n;
for(int i =m;i<=k;i++){
int res = i*n;
for(int j=1;j<n;j++){
int v = a[j-1]+i-1;
if(a[j]<=v)
res = res-(Math.abs(a[j]-v)+1);
if(res<k){
break;
}
}
if(res>=k){
System.out.println(i);
return;
}
}
}
}
总结:俺很菜,俺还要继续学习
第一题
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
String[] s = input.split(" ");
int ans =0;
for(int i=0; i<s.length; i++){
if(s[i].length()>0){
if(s[i].charAt(0)>='A'&&s[i].charAt(0)<='Z'){
ans++;
}
}
}
System.out.println(ans);
}
}
第二题
import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int k = scanner.nextInt();
int []a = new int[n];
for(int i = 0; i < n; i++){
a[i] = scanner.nextInt();
}
Arrays.sort(a);
int m = k/n;
for(int i =m;i<=k;i++){
int res = i*n;
for(int j=1;j<n;j++){
int v = a[j-1]+i-1;
if(a[j]<=v)
res = res-(Math.abs(a[j]-v)+1);
if(res<k){
break;
}
}
if(res>=k){
System.out.println(i);
return;
}
}
}
}
总结:俺很菜,俺还要继续学习
全部评论
还要看时间复杂度的吗 我感觉都是纯模拟题型 前两天根本没优化就 ac 了 最后一题我感觉就是个稍微复杂的模拟 可惜时间不够 我代码写的着急都是屎山
第一题一样,少了个判断长度大于0,为什么通过率为9%

第二题,我是一步一步优化的,刚开始的时候,是完全没有头脑的,写了一个牛头不对马嘴的代码,然后感觉可以用滑动窗格,然后暴力用了三个for,超时,对了70%,发现时间复杂度可能是nLogN,然后进行优化代码,然后找到了这个的结果,听说可以用二分写,我二分学的比较烂
相关推荐
今天 08:50
门头沟学院 Java 沉淀小子:可能一个月8-10K的双非普通人才是我们的常态,不是每个人都可以去那些知名的大厂拿高薪资。比较是偷走幸福的小偷,我们只需要跟过去的自己竞争。博主讲的也折射到了我最近谈恋爱也会焦虑的地方,不过女朋友说我们都是普通人,现在已经很好了。
点赞 评论 收藏
分享
02-06 21:46
西安财经大学 算法工程师 点赞 评论 收藏
分享
