如何求得一个数组中和为指定值的2个元素下标?...例:数组num={2, 7, 17, 26, 27, 31, 41, 42, 55, 80} target=72.求得元素下标值为:{5,6}
首先分析一下:
1....这个数组并不是有序数组,这就排除了搜索空间缩减方法.有序数列查找方式可以参考如何从有序数组中找到和为指定值的两个元素下标
2....整理下思路,因为数组是无序的,所以想知道两数之和是指定值,必须要遍历数组,那时间复杂度,至少会是O(n);
遍历到一个数时,另一个数也可以根据x=target-n计算出来,那问题焦点转换为判断另一数是否存在于数组中...什么样的数据结构适合呢?
哈希结构! 时间复杂度为O(1).