码迷,mamicode.com
首页 > 编程语言 > 详细

2015华为机试—— 整型数排序

时间:2015-07-09 11:24:54      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:2015华为机试   java   算法   hashmap   

要求:请实现对一整型数序列的排序操作。

需求:

1、对输入的整型数序列A,完成升序排列,将结果序列从B中输出。以整数值大小为关键字排序,即小数在前,大数在后。

2、当序列中存在多个同样大小的数时,输出序列中仅保留一个。

    

举例:

    输入序列A:76,92,34,34,59,16,59,45

    符合要求的输出序列B:16,34,45,59,76,92

 

约束:

       1、输入的序列至少含有一个整型数,否则应该返回null;

       2、输入序列中的整数值使用int类型;

  • 接口说明

/*****************************************************************************
 Description : 实现整数排序,即先将从A输入的整型数序列进行排序,剔除重复整型数,输出得到的升序序列B;
 Input       : array_A                 输入参数,输入待排序整型数序列A
 Return      : 排序后的整型数序列
 *****************************************************************************/
 public static int[] sort(int []array_A)
 {
     return null;
 }


解题思路:先进行排序,然后使用HashMap进行去重。


代码如下:


public class paixu
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		int[] a={76,92,34,34,59,16,59,45};
		sort(a);
	}
	
	public static int[] sort(int []array_A)
	{
		int count=0;
	    if(array_A==null)
	    {
	    	return null;
	    }
	    int len=array_A.length;
	    for (int i = len-1; i >0; i--)
		{
			for (int j = 0; j < i; j++)
			{
				if (array_A[j]>array_A[j+1])
				{
					int temp=array_A[j];
					array_A[j]=array_A[j+1];
					array_A[j+1]=temp;
				}
			}
		}
	    Map<Integer,Integer> hm=new HashMap<Integer,Integer>();
	    for (int i = 0; i < len; i++)
		{
			if (!hm.containsValue(array_A[i]))
			{
				hm.put(count, array_A[i]);
				count++;
			}
		}
	    int[] output=new int[count];
	    for (int i = 0; i < count; i++)
		{
			output[i]=hm.get(i);
		}
	    return output;
	    
	}	

}



版权声明:本文为博主原创文章,未经博主允许不得转载。

2015华为机试—— 整型数排序

标签:2015华为机试   java   算法   hashmap   

原文地址:http://blog.csdn.net/zzc8265020/article/details/46812829

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!