zoukankan      html  css  js  c++  java
  • Java练习 SDUT-2761_编码

    编码

    Time Limit: 1000 ms Memory Limit: 65536 KiB

    Problem Description

    给你一个由大写字母组成的组成的字符串,你可以用如下规则对其进行编码:
    1、 包含K个相同字母的连续字符串可以用KX表示,其中X是相同的字母。
    2、 如果K为1,不输出K

    Input

    输入有多组,直到文件结束。每组一个字符串,长度为10000以内

    Output

    输出编码后的字符串。

    Sample Input

    ABC
    ABBCCC

    Sample Output

    ABC
    A2B3C

    Hint

    Source

    lin

    可以定义一个数组一个字符数组,存储不同的字符和它的数量,想试试类。

    import java.util.*;
    
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner cin = new Scanner(System.in);
    		int i,j,num;
    		String s;
    		p[] a = new p[10050];//类的数组定义
    		for(i=0;i<=10000;i++)//别忘了初始化
    			a[i] = new p();
    		num = 0;
    		while(cin.hasNextLine())
    		{
    			s = cin.nextLine();
    			num = 0;
    			for(i=0;i<s.length();i++)
    			{
    				a[num].data = s.charAt(i);
    				a[num].num = 1;
    				for(j=i+1;j<s.length();j++)
    				{
    					if(s.charAt(j)!=a[num].data)
    						break;
    					else
    						a[num].num++;
    				}
    				num++;
    				i = j - 1;
    			}
    			for(i=0;i<num;i++)
    			{
    				if(a[i].num!=1)
    					System.out.print(a[i].num);
    				System.out.print(a[i].data);
    			}
    			System.out.println();
    		}
    		cin.close();
    	}
    	public static class p
    	{
    		char data;
    		int num;
    	}
    }
    
  • 相关阅读:
    MapReduce-shuffle过程详解
    YARN中的失败分析
    HBase协处理器的使用(添加Solr二级索引)
    Flume具体应用(多案例)
    Flume架构及运行机制
    python Cmd实例之网络爬虫应用
    mongodb3 权限认证问题总结
    webpack配置
    apt软件包管理
    python笔记之编程风格大比拼
  • 原文地址:https://www.cnblogs.com/luoxiaoyi/p/9711146.html
Copyright © 2011-2022 走看看