华为机试题: 整型数排序(JAVA)
2016-02-12 23:23
316 查看
描述: | 要求:请实现对一整型数序列的排序操作。 需求: 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; } |
package huawei; import java.util.Arrays; import java.util.Vector; public final class Demo { /***************************************************************************** Description : 实现整数排序,即先将从A输入的整型数序列进行排序,剔除重复整型数,输出得到的升序序列B; Input : array_A 输入参数,输入待排序整型数序列A Return : 排序后的整型数序列 *****************************************************************************/ public static int[] sort(int []array_A) { if (array_A == null) { return null; } /*创建数组并复制*/ int[] temp = new int[array_A.length]; System.arraycopy(array_A, 0, temp, 0, array_A.length); Arrays.sort(temp); Vector<Integer> vec = new Vector<Integer>(); for(int i = 0; i < temp.length; i++) { if(!vec.contains(temp[i])) { vec.addElement(temp[i]); } } int ret[] = new int[vec.size()]; vec.clear(); for(int i = 0, j = 0; i < temp.length; i++) { if(!vec.contains(temp[i])) { vec.addElement(temp[i]); ret[j++] = temp[i]; } } return ret; } }
相关文章推荐
- JavaWeb_相对路径与绝对路径
- JavaWeb_Session讲解
- java学习--常量池
- 关于Struts2三种访问Servlet API方式的总结
- java集合中hashSet与TreeSet学习总结
- 使用JSTL标签库替换Struts1中的logic标签
- Java自带数组排序
- 从零开始搭建opencv3.0交叉编译环境(Ubuntu14.04+eclipse)(一)
- java 汉诺塔 递归算法
- JAVA的数组复制
- 【Java基础】--上传文件
- Atitit eclipse新特性总结3.1---4.4 4.5
- Atitit eclipse新特性总结3.1---4.4 4.5
- Atitit eclipse新特性总结3.1---4.4 4.5
- Eclipse中的各种编码
- NetBeans修改sublime主题配色
- [Spring实战系列](17)编写切点与声明切面
- Java反序列化漏洞之Weblogic、Jboss利用之payload生成工具
- java环境变量设置以及常见问题解决方法
- 新装myeclipse后的一系列设置汇总