美团二笔

感觉这次的难度明显亲和的很多(但并不妨碍我a不出第三题orz)

第一题

本来打算用栈处理多个'Z'连续撤销的情况,后来一看题目中说'R'和'Z'都只会出现一次,所以直接模拟即可。

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        in.nextLine();
        for (int i = 0; i < n; i++) {
            String s = in.nextLine();
            StringBuilder sb = new StringBuilder();
            for (int j = 0; j < s.length(); j++) {
                char c = s.charAt(j);
                if (c == 'Z') {
                    if (j > 0) {
                        if (s.charAt(j - 1) == 'R') {
                            sb.reverse();
                        }
                        else {
                            sb.deleteCharAt(sb.length() - 1);
                        }
                    }
                }
                else if (c == 'R') {
                    sb.reverse();
                }
                else {
                    sb.append(c);
                }
            }
            System.out.println(sb.toString());
        }
    }
}

第二题

直接n^2暴力的话肯定会超时,考虑到l1至r1之间的数字都是连续的,可以遍历每个l2至r2之间的数,每次用O(1)的时间开销计算出当前数字能被多少个数整除。这样可以过50%的用例。

然后我们可以再进行剪枝。如果遍历至l2 > r1,那么后面将不再存在被整除的情况,直接返回结果即可。这样便可通过全部测试用例。

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int l1 = in.nextInt();
        int r1 = in.nextInt();
        int l2 = in.nextInt();
        int r2 = in.nextInt();
        long ans = 0l;
        for (int i = l2; i <= r2; i++) {
            if (i > r1) break;
            int start = l1 / i;
            start = i * start < l1 ? (start + 1) : start;
            int end = r1 / i;
            ans += end - start + 1;
        }
        System.out.println(ans);
    }
}

第三题一看是图,直接开摆交卷了QAQ

#软件开发笔面经##技术岗笔试题求解##牛客创作赏金赛#
全部评论
上午美团嘻嘻哈哈,下午淘天原地爆炸。这电话面完也不用等结果了,彻底凉凉
5 回复 分享
发布于 03-15 15:30 北京
忘记剪枝了,只过了55%
2 回复 分享
发布于 03-15 14:30 广东
🐷哥带我走吧😭
2 回复 分享
发布于 03-15 14:26 江苏
这完全是我
2 回复 分享
发布于 03-15 14:18 江苏
什么题❓
点赞 回复 分享
发布于 03-19 08:51 四川
佬可以试试贝壳呢,主页有~
点赞 回复 分享
发布于 03-18 23:34 北京
为什么我没有收到二笔的邮件?兄弟你有邮件吗
点赞 回复 分享
发布于 03-16 11:07 广东
笔试完就有ai面吗,我为什么没收到ai面
点赞 回复 分享
发布于 03-15 22:29 山东
字节✌还要做美团笔试吗
点赞 回复 分享
发布于 03-15 17:02 江苏

相关推荐

点赞 评论 收藏
分享
这次面试的问题都比较有意思,记录一下:1、介绍一下之前工作的业务场景(code&nbsp;LLM)2、你微调过这么多不同家的大模型(LLama、Qwen、codellam、mistral等),都有什么区别(在业务上,并不是八股结构)3、在业务上比较有效的微调手段4、具体代码翻译场景下,遇到的两种不同语言的函数不能完全一致对应,该用什么方法解决。&nbsp;&nbsp;&nbsp;&nbsp;我提出说用一些RAG可以解决5、使用工程手段解决4好,还是使用SFT解决4好,6、如何进行5的SFT&nbsp;&nbsp;&nbsp;&nbsp;我认为这是一个较难的问题,还是说之前在工作的时候是使用RAG解决的,此外又讲了一些在数据构造上的手段和prompt上的手段7、面试官认为可以使用RLHF解决(似乎他没有完全理解我说的业务场景)&nbsp;&nbsp;&nbsp;&nbsp;讲了使用DPO的做法8、讲一下DPO、PPO、GRPO、KTO&nbsp;&nbsp;&nbsp;&nbsp;其他的讲了,不了解KTO8.5、为什么不考虑对Base直接做DPO9、问DPO的数据如何构造10、问RAG问题的痛点在哪里、优点在哪里11、是否了解COT&nbsp;&nbsp;&nbsp;&nbsp;讲了另外一段NLP实习做的COT的经历11.5、问COT从数理逻辑上为什么奏效12、问之前具体负责了哪些工作,是否具体做过训练的内容&nbsp;&nbsp;&nbsp;&nbsp;表明做过(正常流程下面要问DeepSpeed了,但并没有问)13、问Attention上都有哪些优化措施&nbsp;&nbsp;&nbsp;&nbsp;把GQA和FlashAttention搞混了好像这次面的比较差,可能要挂,来攒攒人品
查看15道真题和解析
点赞 评论 收藏
分享
评论
12
21
分享

创作者周榜

更多
牛客网
牛客企业服务