LeetCode每日一题:单独一个数 2

问题描述

Given an array of integers, every element appears three times except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

问题分析

这道题和上一道基本一样,但是出现次数改成了三次,就不能用异或来做了,
我只能想到一种不是线性时间的解法了,虽然能AC但并不符合条件。

  • 将数组排序后,连续三个数不是同样的,说明找到了单独的一个数

代码实现

public int singleNumber(int[] A) {
        Arrays.sort(A);
        for (int i = 0; i 

你可能感兴趣的:(LeetCode每日一题:单独一个数 2)