题目:一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不
会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。
复杂度最好是O(n),如果是O(n2)则不得分。
分析:典型的空间换时间,用哈希表的办法来映射这个整数数列的数,哈希表中的数是按序排列的
所以可以在0(N)时间内获得和为N+1的数。
源代码:
题目:一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不
会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。
复杂度最好是O(n),如果是O(n2)则不得分。
分析:典型的空间换时间,用哈希表的办法来映射这个整数数列的数,哈希表中的数是按序排列的
所以可以在0(N)时间内获得和为N+1的数。
源代码: