马上要参加学校的acm竞赛,找题突击突击练练手
摘取题目的原网页:https://blog.csdn.net/monster_ayb/article/details/79204900
( 作者:monster_ayb )

题目:
There are n stones on the table in a row, each of them can be red, green or blue. Count the minimum number of stones to take from the table so that any two neighboring stones had different colors. Stones in a row are considered neighboring if there are no other stones between them.

Input

The first line contains integer n (1 ≤ n ≤ 50) — the number of stones on the table.

The next line contains string s, which represents the colors of the stones. We’ll consider the stones in the row numbered from 1 to n from left to right. Then the i-th character s equals"R", if the i-th stone is red, “G”, if it’s green and “B”, if it’s blue.

Output

Print a single integer — the answer to the problem.

Examples

input

3
RRG

output

1

input

5
RRRRR

output

4

input

4
BRBG

output

0

我这里用Java解决

读题:
桌子上放一排只有红蓝绿的球。
从头往尾去掉球,去掉最少的个数能让后面的全部的两两相邻的球,异色

我的初步分析:
1、输入用字符串,然后转字符数组。
2、对于最少的球数量,用算法进行解决
3、给出输出

我的对于算法函数的分析:
1、输入函数的参数:转换后的字符数组
2、遍历一遍数组,找到最后一组相邻同色的球,然后把计算一下该组第一个球到首元素一共有多少个元素,就是要去掉的个数

代码实现:

public class CountRetrieveBall {
int position ;//最后一个相邻同色的第1个球的是从左往右第几个题
CountRetrieveBall(char[] s)
{
int i=0;
position=0;
for(;i<s.length-1;i++)
{
if(s[i]==s[i+1])
{
position=i+1;
}
}
System.out.println(position);
}
}

public class retrieve_ball
{
public static void main(String[] args)
{
Scanner reader= new Scanner(System.in);
int number =reader.nextInt();
String s =reader.next();
char[] ball=s.toCharArray();
CountRetrieveBall count = new CountRetrieveBall(ball);
}
}

一个简单的acm竞赛题相关推荐

  1. 一个大牛的acm历程(看着就要颤抖)

    从我接触程序竞赛到现在应该有十多年了,单说ACM竞赛,从第一次非正式参赛到现在也差不多有7年多的样子.有太多的故事,想说的话,却一直没能有机会写下来.一方面是自己忙,一方面也是自己懒.所以很感谢能有人 ...

  2. 一个大牛的acm历程(看着就要颤抖

    从我接触程序竞赛到现在应该有十多年了,单说ACM竞赛,从第一次非正式参赛到现在也差不多有7年多的样子.有太多的故事,想说的话,却一直没能有机会写下来.一方面是自己忙,一方面也是自己懒.所以很感谢能有人 ...

  3. (转)一个大牛的acm历程(看着就要颤抖)

    从我接触程序竞赛到现在应该有十多年了,单说ACM竞赛,从第一次非正式参赛到现在也差不多有7年多的样子.有太多的故事,想说的话,却一直没能有机会写下来.一方面是自己忙,一方面也是自己懒.所以很感谢能有人 ...

  4. 一个大牛的acm历程(很棒 优秀的人真的很多)

    某天突然看到这篇文章了,当时心情还是比较烦躁的,耐心的把这篇文章看完了.优秀的人真的很多,我不知道自己什么时候需要多久才能成为自己心目中的稍稍优秀一点的人,我在努力.我喜欢笔者最后的那段话. ACM不 ...

  5. 一个大牛的acm历程(很棒 优秀的人真的很多)

    某天突然看到这篇文章了,当时心情还是比较烦躁的,耐心的把这篇文章看完了.优秀的人真的很多,我不知道自己什么时候需要多久才能成为自己心目中的稍稍优秀一点的人,我在努力.我喜欢笔者最后的那段话. ACM不 ...

  6. 关于一些初级ACM竞赛题目的分析和题解(二)。

    关于一些初级ACM竞赛题目的分析和题解(二). 今天写了关于排序的题  中间有加号的复杂的一行字符   其次还有关于tolower函数的应用, 上题                           ...

  7. 关于一些初级ACM竞赛题目的分析和题解(十)

    关于一些初级ACM竞赛题目的分析和题解(十) 西面的题目是关于一些字母变换的,上题: A. Word time limit per test 2 seconds memory limit per te ...

  8. 关于一些初级ACM竞赛题目的分析和题解(六)。

    关于一些初级ACM竞赛题目的分析和题解(六). 下面是关于一些关于数字判断的题,比较简单,先来看第一题: A. Lucky Division time limit per test 2 seconds ...

  9. 聊聊高并发(十六)实现一个简单的可重入锁

    可重入锁指的是假设一个线程已经获得了一个锁,那么它能够多次进入这个锁,当然前提是线程须要先获得这个锁. 可重入锁是最常使用的锁.Java的内置锁就是可重入锁,使用synchronizedkeyword ...

最新文章

  1. system.gc会立即执行垃圾回收吗_JVM垃圾回收系列之 垃圾回收器
  2. linux有关Block的知识
  3. 增长黑盒:零代码基础做智能电商网站,不要重复发明轮子
  4. 手游研发CJ抱大腿指南
  5. jquery easyui datagrid实现单行的上移下移,以及保存移动的结果
  6. QQ 相册后台存储架构重构与跨 IDC 容灾实践
  7. [OS复习]操作系统综述2
  8. sql基线建立-知识准备
  9. SpringSecurity加密认证
  10. python用input输入列表_Python如何使用input函数获取输入
  11. line-height 属性
  12. 商务英语计算机,BEC商务英语
  13. Kubernetes教程 - Kubernetes综合指南(Use Guide)
  14. Windows三十年进化史,从Windows 1.0到Windows 10
  15. 嵌入式Linux要学哪些东西?你真的造吗?
  16. 简单的java图像裁减
  17. Redis6.0为什么引入多线程
  18. Oracle 11g的下载与安装
  19. 树莓派kali linux渗透测试版,在树莓派上安装Kali Linux基于Android设备的Kali Linux渗透测试教程大学霸...
  20. 可扩展机器学习——分类——点击率预测(Click-through Rate Prediction)

热门文章

  1. 金融学习之十——远期利率和远期利率协议
  2. 弱监督目标检测算法论文阅读(三)Improving Object Detection with Inverted Attention
  3. JMeter 远程启动报错:java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
  4. 燕山大学联通新卡绑定校园网
  5. 程序员如何增加收入?
  6. 服务器appcrash的问题怎么修复,电脑appcrash的问题怎么修复?
  7. QlikView学习笔记
  8. 初学者基于paddle的计算机视觉快速上手项目
  9. 02 | 该如何选择消息队列?
  10. 【First-order Methods】 5 Smoothness and Strong Convexity