下午科大讯飞 争吵题

题目描述:

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-19 23:14
亲人们,这个规律你们通过了么。。
点赞 回复 分享
发布于 2017-09-17 03:12
找到第一个R以及之后出现的最后一个L,减去这之间的长度即可
点赞 回复 分享
发布于 2017-09-17 00:23
这规律不错
点赞 回复 分享
发布于 2017-09-16 21:48
想问一下大神能不能让思路更清晰一点,有点看不懂!😭
点赞 回复 分享
发布于 2017-09-16 21:44
为什么我没收到科大讯飞的笔试通知呢。。。。。
点赞 回复 分享
发布于 2017-09-16 21:29

相关推荐

烤点老白薯:这种东西到时候公众号搜索都有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务