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);
       }
      }
     }
    }

  • 相关阅读:
    xx
    office 2016 下载链接
    Revit 2019 下载链接
    AE cc 2019 下载链接
    Premiere Pro cc 2019 下载链接
    Photoshop cc 2019 下载链接
    百度云单机版、软件包及教程
    Visual Studio 2017 软件包及教程
    归并排序:逆序对问题
    归并排序:小和问题
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6914042.html
Copyright © 2011-2022 走看看