洛谷P2708题题解(Java语言描述)
程序员文章站
2022-07-13 13:36:07
...
题目要求
分析
对于读入的长度为m的字符串,只需要从第二个开始判断。
前后不一致就counter++即可~~
如果最后一个是1,答案就是删取后的字符串长度;
如果最后一个是0,答案就加1。(相当于把全是背面朝上的变成全是正面朝上的)
AC代码(Java语言描述)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
char[] chars = scanner.nextLine().toCharArray();
scanner.close();
int length = chars.length, counter = 0;
for (int i = 1; i < length; i++) {
if (chars[i] != chars[i-1]) {
counter++;
}
}
if (chars[length-1] == '0') {
counter++;
}
System.out.println(counter);
}
}
推荐阅读
-
动态规划求解"疯狂的采药"问题(洛谷P1616题题解,Java语言描述)
-
用贪心策略均分纸牌(洛谷P1031题题解,Java语言描述)
-
最大公约数和最小公倍数问题(洛谷P1029题题解,Java语言描述)
-
加括号改变连除式结果(洛谷P2651题题解,Java语言描述)
-
去重的Set解不出“斯诺登的密码”(洛谷P1603题题解,Java语言描述)
-
求子集元素之和(洛谷P2415题题解,Java语言描述)
-
欢乐的跳(洛谷P1152题目链接,Java语言描述)
-
数列分段(洛谷P1181题题解,Java语言描述)
-
在小范围内[打表]验证哥德巴赫猜想(洛谷P1579题题解,Java语言描述)
-
长方体工艺品の切割(洛谷P5729题题解,Java语言描述)