下午科大讯飞 争吵题

题目描述:

image

image

思路:

感觉像是找规律题:因为最左的一个LL、最右的一个R永远不会被消去,所以我们需要做的就是最后一个L的位置减去第一个R的位置就是消去的人数。

代码实现:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String queue = sc.next();
        int count = 0;
        count = queue.length() - (queue.lastIndexOf("L") - queue.indexOf("R"));
        System.out.println(count);
    }
}

或者:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String queue = sc.next();
        int lCount = 0, rCount = queue.length() - 1, count = 0;
        for (int i = 0; i < queue.length(); i++) {
            if (queue.charAt(i) == 'R')//找到第一个R
                break;
            lCount++;
        }
        for (int j = queue.length() - 1; j >= 0; j--) {
            if (queue.charAt(j) == 'L')//找到最后一个L
                break;
            rCount--;
        }
        System.out.println(lCount + " " + rCount);
        count = queue.length() - (rCount - lCount);
        if (count > queue.length())
            count = queue.length();
        System.out.println(count);
    }
}
全部评论
为什么我没收到科大讯飞的笔试通知呢。。。。。
点赞 回复
分享
发布于 2017-09-16 21:29
想问一下大神能不能让思路更清晰一点,有点看不懂!😭
点赞 回复
分享
发布于 2017-09-16 21:44
小红书
校招火热招聘中
官网直投
这规律不错
点赞 回复
分享
发布于 2017-09-16 21:48
找到第一个R以及之后出现的最后一个L,减去这之间的长度即可
点赞 回复
分享
发布于 2017-09-17 00:23
亲人们,这个规律你们通过了么。。
点赞 回复
分享
发布于 2017-09-17 03:12
科大讯飞通知面试了吗?????
点赞 回复
分享
发布于 2017-09-19 23:14

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务