华为 2015 机试 输出:数字后面的连续出现的(2个或多个)相同字符(数字或者字符),删去一个,非数字后面的不要删除,例如,对应输出为:33aabb55pin。
2024-08-25 03:35:02
package 华为机试;
//C++ 输入:由数字和字母组成的字符串,例如:333aaabb55ppin
//输出:数字后面的连续出现的(2个或多个)相同字符(数字或者字符),删去一个,非数字后面的不要删除,例如,对应输出为:33aabb55pin。 //这句话的核心就是在字符串删除一些字符,感觉处理很复杂,删除哪些字符呢?我们观察发现, 本字符串中删除了一个3,一个a,一个p,满足的规则是啥呢? 333中删除最后一个3,3aa删除了一个a,5pp中删除一个p,
//规则就是如果这个字符前面2个是数字,前面一个字符跟他一样,则删除。
import java.util.Scanner; public class Main6 { public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scn=new Scanner(System.in);
while(scn.hasNext())
{
char c1[]=scn.next().toCharArray();
char c2[]=new char[c1.length];
c2[0]=c1[0];
c2[1]=c1[1];
//前两个字符肯定不能被删除
int index=2;//没有删除的字符复制到新的字符数组,
for(int i=2;i<c1.length;i++)
{
if(c1[i]==c1[i-1]&&( c1[i-2]>='0'&&c1[i-2]<='9')) continue; //满足条件,删除
c2[index++]=c1[i];//不满足条件,复制到c2数组 } String ans="";
for(char c3:c2)
{
ans+=c3;
} System.out.println(ans);
} } }
最新文章
- HANA SQLScript
- MVC控制器向View视图传值的三种方法
- MyEclipse10整合Axis2插件
- ligerui+json_001_实现表格(grid)的后台数据显示、分页
- CS小分队第一阶段冲刺站立会议(5月10日)
- @Override must override a superclass method 问题解决
- JD-GUI反编译后代码逻辑分析
- JS问题Uncaught ReferenceError:XXXX is not defined
- Find Minimum in Rotated Sorted Array问题的困惑
- easyui LinkButton
- Swift语言指南(三)--语言基础之整数和浮点数
- Linux之文件过滤分割与合并
- BBS论坛(八)
- Linux学习笔记10
- C#构造函数、私有构造函数、静态构造函数与构造函数执行顺序
- 技术人员在小公司成长 vs 大公司成长路径和建议
- 微信小程序跳转分析
- SQL Server 事务与隔离级别实例讲解
- (Apache)ab 压力测试 简单使用
- 用 map 表达互斥逻辑
热门文章
- 如何编写规范,灵活,稳定,高质量的HTML和css代码
- 【小知识】DataTable 转 List -----------点滴之水,汇涓涓细流,成汪洋大海
- Catch Application Exceptions in a Windows Forms Application
- 如何学习C++[转]
- shell 流程控制
- CSS文档流与块级元素和内联元素(文档)
- 由abcd四个字符取5个作允许重复的排列,要求a出现次数不超过2次,但不能不出现;b不超过1个;c不超过3个;d出现的次数为偶数。求满足以上条件的排列数。
- PHP ini_set() 函数
- 发现一个好的开源项目:lomoX(挑着看,每天看一点,看一年就ok了)——用Webkit开发桌面软件,炫
- yii 验证器和验证码