博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA算法:查找给定的数组中只出现了一次的数组元素
阅读量:4041 次
发布时间:2019-05-24

本文共 1852 字,大约阅读时间需要 6 分钟。

JAVA算法:查找给定的数组中只出现了一次的数组元素

一个整形数组中,除了两个数字之外,其它数字都出现了两次。

写一个程序,求出只出现了一次的数字。
例如:数组元素为 4,2,8,3,4,5,8,7,7,2
上述数组中元素3和元素5只出现了一次。


算法设计

package com.bean.algorithmexec;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.Set;public class FindOnlyOneElementDemo {		/*	 * 一个整形数组中,除了两个数字之外,其它数字都出现了两次。	 * 写一个程序,求出只出现了一次的数字。	 * 	 * 例如:数组元素为 4,2,8,3,4,5,8,7,7,2	 * 上述数组中元素3和元素5只出现了一次。	 * */		static int T=0;		/*	 * 方法名称:findNumsAppearOnce	 * num1,num2分别为长度为1的数组。传出参数	 * 将num1[0],num2[0]设置为返回结果  	 * 	 * */	public static void findNumsAppearOnce(int [] array,int num1[] , int num2[]) {  		//如果array数组长度为0或者数组为空,则直接返回        if(array == null || array.length == 0)              return;                  /*         * 用一个map来装没有出现过的数,如果map中已经有这个数了,就说明这个数是第2次出现了,         * 所以把这个数从map中remove掉,这样遍历一遍后map中就只会剩下只出现一次的那两个值。         * */        Map
map = new HashMap
(); int len = array.length; for(int i = 0; i < len; i++){ if(map.containsKey(array[i])){ map.remove(array[i]); }else{ map.put(array[i],1); } } Set
keys = map.keySet(); int index = 0; for(Integer key :keys){ if(index == 0){ num1[0] = key; index++; }else{ num2[0] = key; } } } public static void main(String[] args) throws FileNotFoundException { // TODO Auto-generated method stub System.setIn(new FileInputStream("G:\\findonlyoneelement.txt")); Scanner sc = new Scanner(System.in); int Answer=0; //读取测试用例组数 T=sc.nextInt(); for(int i=0;i

程序运行结果:

1st: 3    2nd: 5

1st: 1    2nd: 2

附上:文件内容

2

10
4 2 8 3 4 5 8 7 7 2
6
3 3 2 1 4 4

 

转载地址:http://zitdi.baihongyu.com/

你可能感兴趣的文章
LED恒流驱动芯片
查看>>
驱动TFT要SDRAM做为显示缓存
查看>>
使用file查看可执行文件的平台性,x86 or arm ?
查看>>
qt5 everywhere 编译summary
查看>>
qt5 everywhere编译完成后,找不到qmake
查看>>
arm-linux开机读取硬件时钟,设置系统时钟。
查看>>
交叉编译在x86上调试好的qt程序
查看>>
qt 创建异形窗体
查看>>
可重入函数与不可重入函数
查看>>
简单Linux C线程池
查看>>
内存池
查看>>
输入设备节点自动生成
查看>>
GNU hello代码分析
查看>>
Qt继电器控制板代码
查看>>
wpa_supplicant控制脚本
查看>>
gstreamer相关工具集合
查看>>
arm 自动升级脚本
查看>>
RS232 四入四出模块控制代码
查看>>
gstreamer插件之 videotestsrc
查看>>
autoupdate script
查看>>