马上要参加学校的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. Java006-面向对象(继承)
  2. linux-shell命令之rmdir(remove dir)【删除目录】
  3. cf769D(枚举位或运算)
  4. 由于TempDB设置错误导致SQL Server无法重启错误的解决方案
  5. 满足其中一个条件则可_农村分户好处多,但并非人人都可分户!满足这4个条件才可以申请...
  6. Vue语法学习第一课——插值
  7. matlab 数字调制函数,matlab用于数字调制,几个函数的使用问题
  8. AI+云原生,把卫星遥感虐的死去活来
  9. 基于MATLAB的平面刚架有限元分析,基于MATLAB的平面刚架静力分析.pdf
  10. flex blazeds java spring_Flex+Java+Spring+BlazeDS 配置篇说明
  11. c 导出html表格数据格式文件,将html网页导出excel表格数据/如何将html页面中的表格导出到excel表格...
  12. 2021-2022年中国冰雪季旅游行业发展概况及发展趋势分析[图]
  13. 制作纯净版的xp系统的U盘安装盘
  14. 【C语言小游戏】答题系统
  15. Google已开始从Chrome浏览器中取消对 FTP 的支持
  16. 北京哪些医院不用特意选择就可用社保卡直接就医?
  17. 搭建(WSTMart)php电商环境时缺少fileinfo函数
  18. APIX_身份证图像识别技术(附代码)
  19. 计算机等级考试二级ppt,高校计算机等级考试二级C.ppt
  20. 2021.icpc网络赛第二场

热门文章

  1. python链接sql报错_python3.7连接sqlserver数据库失败报错20002, DB-Lib error message 20002
  2. 黑鲨能换鸿蒙系统吗,黑鲨告诉你重装系统对电脑的好坏处
  3. Google Common Lisp 风格指南
  4. Unity游戏安卓和苹果游戏中植入广告增加收入
  5. Github-谷歌插件gitzip(加速器-不用再忍受几十kb/s的煎熬了)
  6. 用showdown给HTML网页插入markdown笔记
  7. 记录微信公众号迁移的过程(使用微擎)
  8. 浅谈sklearn中DBSCAN的欧式距离(Euclidean Distance)的计算
  9. 最新2018.1.1深度学习平台搭建 Win10+GPU+Tensorflow+keras+CUDA --2018.1.1
  10. POI之Excel字体样式