华为OJ平台——整形数组合并
生活随笔
收集整理的這篇文章主要介紹了
华为OJ平台——整形数组合并
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目描述:
將兩個整型數(shù)組按照升序合并,并且過濾掉重復數(shù)組元素
輸入:
輸入說明,按下列順序輸入:
1?輸入第一個數(shù)組的個數(shù)
2?輸入第一個數(shù)組的數(shù)值
3?輸入第二個數(shù)組的個數(shù)
4?輸入第二個數(shù)組的數(shù)值
輸出:
輸出合并之后的數(shù)組
輸入樣例:
3 1 2 5 4 -1 0 3 2
輸出樣例:
-101235
思路:
先將兩個數(shù)組合并到一個中,然后對這個完整的數(shù)組進行排序,最后剔除重復的數(shù)據(jù)并輸出
1 import java.util.Scanner; 2 3 public class ArrayMerge { 4 5 public static void main(String[] args) { 6 //輸入,按輸入的標準輸入兩個數(shù)組的數(shù)據(jù) 7 Scanner cin = new Scanner(System.in) ; 8 int len1 = cin.nextInt() ; 9 if(len1 < 1){ 10 System.exit(-1); 11 } 12 int [] arr1 = new int [len1] ; 13 for(int i = 0 ; i < len1 ; i++){ 14 arr1[i] = cin.nextInt() ; 15 } 16 int len2 = cin.nextInt() ; 17 if(len2 < 1){ 18 System.exit(-1); 19 } 20 int [] arr2 = new int [len2] ; 21 for(int i = 0 ; i < len2 ; i++){ 22 arr2[i] = cin.nextInt() ; 23 } 24 cin.close() ; 25 26 System.out.print(intArrayMergeASC(arr1,arr2)) ; 27 } 28 29 /** 30 * 進行合并,然后將輸出結(jié)果存放到一個字符串中返回 31 * @param arr1 32 * @param arr2 33 * @return 34 */ 35 private static String intArrayMergeASC(int[] arr1, int[] arr2) { 36 //將兩個數(shù)組合并到一個較大的數(shù)組中 37 int [] total = new int [arr1.length + arr2.length] ; 38 for(int i = 0 ; i < arr1.length ; i++){ 39 total[i] = arr1[i] ; 40 } 41 for(int i = 0 ; i < arr2.length ; i++){ 42 total[i+arr1.length] = arr2[i] ; 43 } 44 //對合并后的數(shù)組排序 45 sort(total) ; 46 //保存在結(jié)果在字符串中 47 String res = total[0]+"" ; 48 int last = total[0] ; 49 for(int i = 1 ; i < total.length ; i++){ 50 //不相同的則添加到字符串中,相同的則直接下一個 51 if(total[i] != last){ 52 last = total[i] ; 53 res += total[i] + "" ; 54 } 55 } 56 57 return res; 58 59 } 60 61 /** 62 * 簡單選擇排序算法對數(shù)組進行排序 63 * @param arr 64 */ 65 private static void sort(int[] arr) { 66 int min ; 67 int index ; 68 for(int i = 0 ; i < arr.length-1 ; i++){ 69 min = arr[i] ; 70 index = i ; 71 for(int j = i+1 ; j < arr.length ; j++){ 72 if(min > arr[j]){ 73 min = arr[j] ; 74 index = j ; 75 } 76 } 77 if(index != i){ 78 arr[index] = arr[i] ; 79 arr[i] = min ; 80 } 81 } 82 } 83 84 } Code?
轉(zhuǎn)載于:https://www.cnblogs.com/mukekeheart/p/5628004.html
總結(jié)
以上是生活随笔為你收集整理的华为OJ平台——整形数组合并的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sed tr 去除PATH中的重复项
- 下一篇: 微信小程序demo测试实践