蓝桥杯 算法训练 新生舞会 Java
来源:互联网 发布:网络十大女主播排名 编辑:程序博客网 时间:2024/06/06 01:24
问题描述
相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了。今天,徐老师想
测试一下大家对于字符串操作的掌握情况。徐老师自己定义了1,2,3,4,5这5个参数分别指代不同的5
种字符串操作,你需要根据传入的参数,按照徐老师的规定,对输入字符串进行格式转化。
徐老师指定的操作如下:
1 表示全部转化为大写字母输出,如abC 变成 ABC
2 表示全部转换为小写字母输出,如abC变成abc
3 表示将字符串整个逆序输出,如 abc 变成 cba
4 表示将字符串中对应的大写字母转换为小写字母,而将其中的小写字母转化为大写字母输出,
如 abC变成ABc
5表示将全部转换为小写字母,并将其中所有的连续子串转换为对应的缩写形式输出,比如abcD
转换为a-d,其次,-至少代表1个字母,既如果是ab,则不需要转换为缩写形式。
输入格式
一共一行,分别是指代对应操作的数字和字符串,两者以空格分隔,字符串全部由英文字母组成
输出格式
输出根据上述规则转换后对应的字符串
样例输入
5 ABcdEE
样例输出
a-ee
数据规模和约定
输入字符串长度最长为200。
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String str=sc.nextLine(); String strs[]=str.split(" "); int n=Integer.parseInt(strs[0]); String s=strs[1]; if(n==1){ System.out.println(s.toUpperCase()); }else if(n==2){ System.out.println(s.toLowerCase()); }else if(n==3){ System.out.println(new StringBuilder(s).reverse().toString()); }else if(n==4){ char[]chs=s.toCharArray(); for(int i=0;i<chs.length;i++){ if(chs[i]>=97){ chs[i]=(char)(chs[i]-32); }else{ chs[i]=(char)(chs[i]+32); } } System.out.println(new String(chs)); }else{ s=s.toLowerCase(); //System.out.println(s); for(int i=0;i<s.length();i++){ int max=1; for(int j=i+1;j<s.length();j++){ if(s.charAt(i)+(j-i)==s.charAt(j)){ max++; }else{ break; } } //System.out.println("i="+i+" max: "+max); if(max>=3){ s=s.replace(s.substring(i, i+max), s.charAt(i)+"-"+s.charAt(i+max-1)); } } System.out.println(s); } }}
1 0
- 蓝桥杯 算法训练 新生舞会 Java
- 算法训练 新生舞会
- 算法训练 新生舞会
- 算法训练 新生舞会
- 算法训练 新生舞会
- 蓝桥杯ALGO-94——算法训练 新生舞会
- 4819: [Sdoi2017]新生舞会
- bzoj4819: [Sdoi2017]新生舞会
- 4819: [Sdoi2017]新生舞会
- BZOJ4819: [Sdoi2017]新生舞会
- 蓝桥杯 ALGO-94 新生舞会(结构体)
- [sdoi2017][bzoj4819] D2T1 新生舞会
- BZOJ 4819: [Sdoi2017]新生舞会
- java蓝桥杯算法训练 P1103
- 蓝桥杯 算法训练 排序 JAVA
- 【BZOJ 4819】【SDOI 2017】新生舞会
- 蓝桥杯-算法训练-算法训练 Anagrams问题 -Java
- BZOJ 4819: [Sdoi2017]新生舞会 01分数规划 二分图最大权匹配(KM算法)/费用流
- 【POJ 1105 S-Trees】
- 在安卓上部署服务器
- OpenVSwitch简介
- HDU1754【分块入门1】
- POJ2763 树链剖分
- 蓝桥杯 算法训练 新生舞会 Java
- 算法题——Minimum Absolute Difference in BST(JAVA)二叉搜索树
- 最短路径[Floyd算法,Dijkstra算法,Bellman-Ford(贝尔曼)]算法
- 188_使用FileInput_OutputStream完成复制
- POJ
- 腾讯后台开发面试题及答案
- sscanf sprintf
- 约瑟夫问题---list双向链表
- Android 图形处理的API