剑指Offer_编程题_数组中只出现一次的数字

简介: 剑指Offer_编程题_数组中只出现一次的数字

时间限制:


1秒 空间限制:32768K 热度指数:299973


本题知识点: 数组

题目描述

一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。

只是让我们来编写这个方法里面的内容,所以我们就要按照人家的要求

//num1,num2分别为长度为1的数组。传出参数
//将num1[0],num2[0]设置为返回结果
public class Solution {
    public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
      int[] arr = new int[2];//因为最后我们是要把返回值给num1[0],num2[0] 所以定义一个数组长度为2
    boolean[] brr = new boolean[array.length];
    for (int i = 0; i < brr.length; i++) {
      brr[i] = true;//因为布尔类型数组不赋值默认为false,
    }
    //每次用第一个和它后面的值进行比较(并不与自身比较),值想等的情况下我们把它们就都为false,而且如果它前面和某个值想等,那么我们是需要它为true才能去判断,
    for (int i = 0; i < array.length; i++) {
      for (int j = i+1; j < array.length; j++) {
        if (brr[i]==true) {
          if (array[i]==array[j]) {
            brr[i]=false;
            brr[j]=false;
          }
        }
      }
    }
    int ii =0;
    //到最后有相同的值就会变成false,而true就是我们要的值了,然后放到我们的事先定义好的只有两个长度的数组里
    for (int i = 0; i < brr.length; i++) {
      if (brr[i]==true) {
        arr[ii++] = array[i];
      }
    }
    num1[0] = arr[0];//然后我们把第一个正确的值赋给num1[0]
    num2[0] = arr[1];//然后我们把第二个正确的值赋给num2[0]
    }
}


目录
相关文章
|
5月前
|
C语言
【C语言刷题每日一题】——求1到100中包含数字9的整数的个数
【C语言刷题每日一题】——求1到100中包含数字9的整数的个数
|
5月前
|
存储 C语言
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
|
6月前
|
Java
每日一题《剑指offer》数组篇之数组中重复的数字
每日一题《剑指offer》数组篇之数组中重复的数字
55 0
每日一题《剑指offer》数组篇之数组中重复的数字
|
6月前
|
Java
每日一题《剑指offer》数组篇之数组中只出现一次的两个数字
每日一题《剑指offer》数组篇之数组中只出现一次的两个数字
35 0
每日一题《剑指offer》数组篇之数组中只出现一次的两个数字
|
6月前
|
Java
每日一题《剑指offer》数组篇之和为S的两个数字
每日一题《剑指offer》数组篇之和为S的两个数字
43 0
每日一题《剑指offer》数组篇之和为S的两个数字
【剑指offer】-数组中只出现一次的数字-35/67
【剑指offer】-数组中只出现一次的数字-35/67
|
6月前
剑指Offer 面试题03. 数组中重复的数字
剑指Offer 面试题03. 数组中重复的数字
34 0
剑指offer 61. 数组中只出现一次的两个数字
剑指offer 61. 数组中只出现一次的两个数字
55 0
剑指offer 61. 数组中只出现一次的两个数字
|
C++
剑指Offer - 面试题3:数组中重复的数字
剑指Offer - 面试题3:数组中重复的数字
70 0
剑指offer 62. 数组中唯一只出现一次的数字
剑指offer 62. 数组中唯一只出现一次的数字
72 0