《剑指offer》数组中只出现一次的数字
生活随笔
收集整理的這篇文章主要介紹了
《剑指offer》数组中只出现一次的数字
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目:一個(gè)整型數(shù)組里除了兩個(gè)數(shù)字之外,其他的數(shù)字都出現(xiàn)了兩次。請(qǐng)寫(xiě)程序找出這兩個(gè)只出現(xiàn)一次的數(shù)字。
解析:直接用set集合去重,每個(gè)集合的元素都去原數(shù)組array里找,出現(xiàn)一次就保存下
//num1,num2分別為長(zhǎng)度為1的數(shù)組。傳出參數(shù) //將num1[0],num2[0]設(shè)置為返回結(jié)果 import java.util.*; public class Solution {public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {List<Integer> list = new ArrayList<>();for(int i:array){list.add(i);}LinkedHashSet<Integer> set = new LinkedHashSet<>(list);//去重后的元素集合int index=0;//標(biāo)識(shí)找到的元素個(gè)數(shù)for(Integer i :set){int count=0;for(int j:array){if(j==i){count++;}}if(index==0){//判斷是否找到了第一個(gè)元素if(count==1){//找到了第一個(gè)元素只出現(xiàn)一次的數(shù)字num1[0]=i;index++;continue;}}if(index==1){//判斷是否找到了第二個(gè)元素if(count==1){num2[0]=i;return;//第二個(gè)都找到了,任務(wù)完成,還玩什么,可以返回LOL去了}}}} }總結(jié)
以上是生活随笔為你收集整理的《剑指offer》数组中只出现一次的数字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mysql 会导致锁表的语法
- 下一篇: 《剑指offer》像素翻转