zoukankan      html  css  js  c++  java
  • 去除反复字符并排序

    执行时间限制:无限制
    内容限制: 无限制
    输入: 字符串
    输出: 去除反复字符并排序的字符串
    例子输入: aabcdefff
    例子输出: abcdef

    思路:
    这个题用数组来哈希,时间复杂度为O(n)
    1)    初始化一个int数组hash,数组的角标和数组的值正好构成一对<key,value>;
    2)    遍历字符串,将每一个字符放入数组中相应的位置,出现过得字符,其数组值为1
    3)    遍历数组,输出数组中数组值为1所相应的字符

    Java解法:
    import java.util.Scanner;

    public class Main
    {
     public static void main(String[] args)
     {
      Scanner cin=new Scanner(System.in);
      int hash[]=new int[256];
      if (cin.hasNext())
      {
       String temp=cin.next();
       func(temp, hash);
      }
     }
     
     public static void func(String str, int[] hash)
     {
      for (int i = 0; i < str.length(); i++)
      {
       char c=str.charAt(i);
       if (hash[c]==0)
       {
        hash[c]=1;
       }
      }
      for (int i = 0; i < hash.length; i++)
      {
       if (hash[i]!=0)
       {
        char c=(char)i;
        System.out.print(c);
       }
      }
     }
    }

  • 相关阅读:
    java内部类自我总结
    eclipse中调试第三方jar中的代码
    java提升性能的好习惯(转)
    WMI获取驱动版本
    cmd中的特殊符号
    DISM命令应用大全
    C#自检系统
    注册表检查
    PictrueBox 显示Resources里面的图片
    Linq to XML
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6914042.html
Copyright © 2011-2022 走看看