美团二笔

感觉这次的难度明显亲和的很多(但并不妨碍我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 北京
这完全是我
2 回复 分享
发布于 03-15 14:18 江苏
🐷哥带我走吧😭
2 回复 分享
发布于 03-15 14:26 江苏
忘记剪枝了,只过了55%
2 回复 分享
发布于 03-15 14:30 广东
字节✌还要做美团笔试吗
点赞 回复 分享
发布于 03-15 17:02 江苏
笔试完就有ai面吗,我为什么没收到ai面
点赞 回复 分享
发布于 03-15 22:29 山东
为什么我没有收到二笔的邮件?兄弟你有邮件吗
点赞 回复 分享
发布于 03-16 11:07 广东
佬可以试试贝壳呢,主页有~
点赞 回复 分享
发布于 03-18 23:34 北京
什么题❓
点赞 回复 分享
发布于 03-19 08:51 四川

相关推荐

03-15 11:53
已编辑
兰州大学 Java
点赞 评论 收藏
分享
评论
12
21
分享

创作者周榜

更多
牛客网
牛客企业服务