标签: arrays algorithm
最近我在一次采访中被问到这个问题。
给定一个int数组,其中除了一个数字之外的所有数字都出现一次,而正好一个数字出现3次。在O(1)空间和O(n)时间复杂度中找到该数字。
我如何处理这个问题?
答案 0 :(得分:1)
只需对数组进行排序并找到答案。
注意:由于数组具有整数值,因此您可以使用具有线性时间复杂度的Radix排序算法。此外,您可以将其用作就地算法。
PS:三次是错觉数据,原始问题是受访者可以认为像排序问题一样简单。这种期望是多么公平是尊重面试的水平!