我在考试中遇到了这个问题:
给定一个整数数组,使用O(N)时间复杂度和O(1)空间复杂度找到第一个不重复的数字。
我想不出任何解决方案。我知道可以遍历整个数组并维护一个linkedhashmap,它将存储数组元素和它出现的次数,然后最后要在hashmap中搜索以找到那个数字。空间复杂度大于O(1),但我想不出其他解决方案。
我还仔细阅读了问题,并说数组的最大大小将为100万。我认为,如果我们可以创建一个自定义哈希映射,它将利用一个固定大小的1百万大小的数组,那么可以在O(1)空间复杂度下完成此操作,因为在这种情况下所需的存储量将是恒定的,但不确定我是否正确。请告诉我是否有其他解决方案。