下午科大讯飞 争吵题
题目描述:
思路:
感觉像是找规律题:因为最左的一个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);
}
}