• poj 1002 错题 不知错在哪


    收获:

    1.哈希表的使用,终于会了。。。

    2.Object类型辅助类的使用方法  加入到哈希表中的是一个类类型

    3.自动排序的实现  arrays.sort只能实现数组的排序

    import java.util.*;
    class Counter {
       int i = 1;
       public String toString() {
         return Integer.toString(i);
       }

    }
     class Main {
     
     public static void main(String args[]){
      ArrayList al=new ArrayList();
      LinkedHashMap numbers = new LinkedHashMap();
      LinkedHashMap ht=sumOut(numbers);
      Iterator   it   =   ht.keySet().iterator();
      while   (it.hasNext())   {
      Object   o   =   it.next();
      al.add(o);
      //System.out.print(o+" ");
      //System.out.println(ht.get(o));
      
      }
      Object array[]=new Object[al.size()];
      //for(int i=0;i<al.size();i++){
      array= al.toArray();
      //}
      Arrays.sort(array);
      for(int i=0;i<al.size();i++){
       System.out.print(array[i]+" ");
       System.out.println(ht.get(array[i]));
      }
      
     }
     //转换 将输入 转化成标准输出
     public static LinkedHashMap sumOut(LinkedHashMap ht){
      Scanner scan=new Scanner(System.in);
      int time=scan.nextInt();//获取次数
      for(int i=0;i<time;i++){
       String in=scan.next();//逐行获取
       String out=transform(in);//转换完成
       //hashtable 加入
       if(ht.containsKey(out)){
        ((Counter)(ht.get(out))).i++;
       }
       else{
        ht.put(out, new Counter());
       }
      }
      return ht;
     }
     public static String transform(String in){
      String out="";
      int count=0;
      char tempor;
      for(int i=0;i<in.length();i++){
       tempor=in.charAt(i);
       if(tempor=='-') continue;
       count++;
       if(count==4){
        out=out+'-';
       }
       
       out=out+(mapping(tempor));
       //System.out.println("已经加上了一个字母 : "+tempor);
       //System.out.println("out变为 : "+out);
      }
      //System.out.println("结果是 : "+out);
      return out;
     }
     //将输入字母 转化成标准输出的字母
     public static int  mapping(char c){
      switch(c){
       case 'A':
       case 'B':
       case 'C': return 2;
       case 'D':
       case 'E':
       case 'F':return 3;
       case 'G':
       case 'H':
       case 'I':return 4;
       case 'J':
       case 'K':
       case 'L':return 5;
       case 'M':
       case 'N':
       case 'O':return 6;
       case 'P':
       case 'R':
       case 'S':return 7;
       case 'T':
       case 'U':
       case 'V':return 8;
       case 'W':
       case 'X':
       case 'Y':return 9;
       case '1':return 1;
       default: 
        return c-48;
      }
      
     }
     }

  • 相关阅读:
    unity3d优化-代码篇(不定期更新)
    Activity的生命周期
    继承了AppCompatActivity的全屏设置
    shaderlab UV动画所需的变量声明
    加载Assetbundle需要注意的地方
    VisualStudio中的编辑后期生成事件
    unity3D射线检测敌人是否在前方
    Unity3D 定时发射子弹
    Unity3D使用NGUI做个弹窗
    Unity3D TouchScript 插件教程一
  • 原文地址:https://www.cnblogs.com/xinsheng/p/1996167.html
Copyright © 2020-2023  润新知