得到交替排列形式字符串
来源:互联网 发布:一个淘宝号最多刷几单 编辑:程序博客网 时间:2024/06/06 08:57
题目:
牛牛有n张卡片排成一个序列.每张卡片一面是黑色的,另一面是白色的。
初始状态的时候有些卡片是黑色朝上,有些卡片是白色朝上。
牛牛现在想要把一些卡片翻过来,得到一种交替排列的形式,即每对相邻卡片的颜色都是不一样的。
牛牛想知道最少需要翻转多少张卡片可以变成交替排列的形式。
分析:
由题意得,要得到交替排列形式,只有BWBWBW....或者WBWBWB...两种可能。
只需要用两个变量记录得到这两种形式串所需要的步数即可,输出最小值
实现代码:
public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); String line = scanner.next(); int b = 0, w = 0; for(int i=0, len = line.length();i<len;i++){ char c = line.charAt(i); if((i&1)==0){ //按位与运算符可以用来判断奇偶 (i&1)!=0 if(c=='W') b++; else w++; }else{ if(c=='W') w++; else b++; } } System.out.println(Math.min(b, w)); }}
阅读全文
0 0
- 得到交替排列形式字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替排列的字符
- 以字符串形式得到程序运行堆栈信息
- Integer.toHexString(int)得到byte类型的十六进制字符串形式
- 404交替字符串
- 【算法】字符串交替
- 面试:字符串: 字符交替
- ID3算法
- JSP中禁用EL表达式
- hiho一下 第166周 逃离迷宫
- Android Studio中关于Java的单元测试
- Nginx Http服务器
- 得到交替排列形式字符串
- 操作系统知识
- c++之初体验——函数重载,引用,命名空间
- python7
- 环境变量的作用
- 基于前端Js模块化规范的粗浅应用
- MUI-不常用组件复习
- RSSI和802.11协议帧
- 帧同步扫盲帖