美团秋招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 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                int v = a[j-1]+i-1;
                if(a[j]<=v)
                res = res-(Math.abs(a[j]-v)+1);
                if(res                    break;
                }
            }
if(res>=k){
                System.out.println(i);
                return;
            }
        }

    }
}

总结:俺很菜,俺还要继续学习
全部评论
还要看时间复杂度的吗 我感觉都是纯模拟题型 前两天根本没优化就 ac 了 最后一题我感觉就是个稍微复杂的模拟 可惜时间不够 我代码写的着急都是屎山
1 回复 分享
发布于 09-01 07:33 山西
第二题,我是一步一步优化的,刚开始的时候,是完全没有头脑的,写了一个牛头不对马嘴的代码,然后感觉可以用滑动窗格,然后暴力用了三个for,超时,对了70%,发现时间复杂度可能是nLogN,然后进行优化代码,然后找到了这个的结果,听说可以用二分写,我二分学的比较烂
点赞 回复 分享
发布于 09-01 00:16 湖南
第一题一样,少了个判断长度大于0,为什么通过率为9%
点赞 回复 分享
发布于 09-01 12:20 广东

相关推荐

面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
6 4 评论
分享
牛客网
牛客企业服务