一组数据去重和排序的实现
来源:互联网 发布:c语言定义一个二维数组 编辑:程序博客网 时间:2024/04/24 12:35
题目转自http://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0?tpId=37&tqId=21226&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking
题目描述
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
Input Param
n 输入随机数的个数
inputArray n个随机整数组成的数组
Return Value
OutputArray 输出处理后的随机整数
注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。
测试用例:
11 // 表示N
10
20
40
32
67
40
20
89
300
400
15
共有两段代码一个是没有while(input.hasNext())循环的代码,一个是有while(input.hasNext())的代码段。
示例代码段1:
package basicjavaday06;import java.util.Scanner;public class RandomNumberRemoveRepeatSort { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("输入N值:"); //给定N,且N≤1000 int N = input.nextInt(); System.out.println("N = " + N); //设置接受随机数的数组randomArray int[] randomArray = new int[N]; for(int i = 0; i < randomArray.length; i++){ randomArray[i] = input.nextInt(); } //输出测试 System.out.println("=======原始数据======="); for(int i = 0; i < randomArray.length; i++){ System.out.print(randomArray[i] + "\t"); } //去重 int [] removeRepeat = new int[N]; int count1 = 0; for (int i = 0; i < randomArray.length; i++) { if (count1 == 0) { removeRepeat[count1] = randomArray[i]; count1++; } else { int flag = 0;// 标记,0表示没有重复,1表示重复 for (int j = 0; j < count1; j++) { if (randomArray[i] == removeRepeat[j]) { flag = 1; } } if(flag == 0){ removeRepeat[count1] = randomArray[i]; count1++; } } } //测试输出 System.out.println("\n=========去重后的数据=========="); for(int i = 0; i < count1; i++){ System.out.print(removeRepeat[i] + "\t"); } //从小到大排序 //1. 冒泡法排序 int temp; for(int i = 0; i < count1; i++){ for(int j = i+1; j < count1; j++){ if(removeRepeat[i] > removeRepeat[j]){ temp = removeRepeat[i]; removeRepeat[i] = removeRepeat[j]; removeRepeat[j] = temp; } } } //测试输出 System.out.println("\n=========从小到大排序后=========="); for(int i = 0; i < count1; i++){ System.out.print(removeRepeat[i] + "\t"); } input.close(); }}
示例代码段2:
package basicjavaday06;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); // System.out.println("输入N值:"); // 给定N,且N≤1000 while (input.hasNext()) { int N = input.nextInt(); // System.out.println("N = " + N); // 设置接受随机数的数组randomArray int[] randomArray = new int[N]; for (int i = 0; i < randomArray.length; i++) { randomArray[i] = input.nextInt(); } // 输出测试 // System.out.println("=======原始数据======="); // for(int i = 0; i < randomArray.length; i++){ // System.out.print(randomArray[i] + "\t"); // } // 去重 int[] removeRepeat = new int[N]; int count1 = 0; for (int i = 0; i < randomArray.length; i++) { if (count1 == 0) { removeRepeat[count1] = randomArray[i]; count1++; } else { int flag = 0;// 标记,0表示没有重复,1表示重复 for (int j = 0; j < count1; j++) { if (randomArray[i] == removeRepeat[j]) { flag = 1; } } if (flag == 0) { removeRepeat[count1] = randomArray[i]; count1++; } } } // 测试输出 // System.out.println("\n=========去重后的数据=========="); // for(int i = 0; i < count1; i++){ // System.out.print(removeRepeat[i] + "\t"); // } // 从小到大排序 // 1. 冒泡法排序 int temp; for (int i = 0; i < count1; i++) { for (int j = i + 1; j < count1; j++) { if (removeRepeat[i] > removeRepeat[j]) { temp = removeRepeat[i]; removeRepeat[i] = removeRepeat[j]; removeRepeat[j] = temp; } } } // 测试输出 // System.out.println("\n=========从小到大排序后=========="); for (int i = 0; i < count1; i++) { System.out.println(removeRepeat[i]); } } input.close(); }}
0 0
- 一组数据去重和排序的实现
- EXCEL 一组数据筛选出重复的数据/去重
- 一组数字去重
- 去重和排序
- 去重和排序
- vector的排序和去重
- js数组的去重和排序
- MapReduce基础开发之二数据去重和排序
- MySql数据库:数据查重、去重的实现
- 历史记录的读取和写入---读取数据和存入数据(做了排序和去重的处理)
- 大文件的排序和去重 超级简单的实现
- 对随机数“去重”和“排序”(使用set实现)
- iOS 数组的去重(普通的无序的去重和排序好的去重)
- iOS 数组的去重(普通的无序的去重和排序好的去重)
- iOS 数组的去重(普通的无序的去重和排序好的去重)
- iOS 数组的去重(普通的无序的去重和排序好的去重)
- 列表li排序去重的实现与优化
- 去重的全排序
- 数据结构预备知识(二)
- Java Set接口的主要实现类HashSet
- Dns.GetHostEntry(host).AddressList异常。
- Android APK反编译就这么简单 详解(附图)
- HTML 第一章上机练习3、4
- 一组数据去重和排序的实现
- Tomcat Can't load AMD 64-bit .dll on a IA 32
- 输出一个集合的全部子集(C语言版)
- nnpack详解
- 好的网页记录
- 第一次博客之旅
- SYNFLOOD C++
- Android中方向问题(转变方向)以及 configChanges 配置不管用问题
- UE4 蓝图函数DownloadImage 的缺点