求解:有一个数组,数组中的元素值是正整数,且均小于数组长度
其中有两个元素值是相等的
写一算法,要求时间复杂度和空间复杂度均为最简
找出两个元素的位置
设长度为n
于是可以放的数为1到n-1共n-1个数
而数组可容纳n个数,由题意"其中有两个元素值是相等的"
这n个数恰好为1到n-1中再加上一个1到n-1间的数
于是 数组中的所有数求和 - (1 + n - 1) * (n - 1) / 2 为所求
a[0]+a[1]+a[2]+...+a[n-1]-(1 + n - 1) * (n - 1) / 2
阅读(619) | 评论(0) | 转发(0) |