• 华为 2015 机试 输出:数字后面的连续出现的(2个或多个)相同字符(数字或者字符),删去一个,非数字后面的不要删除,例如,对应输出为:33aabb55pin。


     1 package 华为机试;
     2 //C++ 输入:由数字和字母组成的字符串,例如:333aaabb55ppin
     3 //输出:数字后面的连续出现的(2个或多个)相同字符(数字或者字符),删去一个,非数字后面的不要删除,例如,对应输出为:33aabb55pin。
     4 
     5 //这句话的核心就是在字符串删除一些字符,感觉处理很复杂,删除哪些字符呢?我们观察发现, 本字符串中删除了一个3,一个a,一个p,满足的规则是啥呢?  333中删除最后一个3,3aa删除了一个a,5pp中删除一个p,
     6 //规则就是如果这个字符前面2个是数字,前面一个字符跟他一样,则删除。
     7 import java.util.Scanner;
     8 
     9 public class Main6 {
    10 
    11     public static void main(String[] args) {
    12         // TODO Auto-generated method stub
    13         Scanner scn=new Scanner(System.in);
    14         while(scn.hasNext())
    15         {
    16             char c1[]=scn.next().toCharArray();
    17             char c2[]=new char[c1.length];
    18             c2[0]=c1[0];
    19             c2[1]=c1[1];
    20             //前两个字符肯定不能被删除
    21             int index=2;//没有删除的字符复制到新的字符数组,
    22             for(int i=2;i<c1.length;i++)
    23             {
    24                 if(c1[i]==c1[i-1]&&( c1[i-2]>='0'&&c1[i-2]<='9')) continue; //满足条件,删除
    25                 c2[index++]=c1[i];//不满足条件,复制到c2数组
    26                 
    27                 
    28                 
    29                 
    30             }
    31         
    32             String ans="";
    33             for(char c3:c2)
    34             {
    35                 ans+=c3;
    36             }
    37             
    38             System.out.println(ans);
    39         }
    40 
    41     }
    42 
    43 }
  • 相关阅读:
    HTML5 CSS3简要教程
    WP模拟器修改语言为中文方法
    仿牛华数码频道网整站源码
    backBarButtonItem 颜色/文字修改
    这是html5中WebGL的演示
    CSS3/jQuery创意盒子动画菜单
    bootstrap学习和使用的经验总结
    uploadify插件实现多个图片上传并预览
    绝对炫的幻灯片插件-SKITTER
    制作手机使用的网页图片查看器
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/3961740.html
Copyright © 2020-2023  润新知