摘要:
输出等差数列由小到大?如果没有符合条件的就输出“NO”。例如:输入[1,3,0,5,-1,6] ,输出[-1,1,3,5] 。要求:时间复杂度,空间复杂度尽量小解体思路:设随机数为a[],首先排序,(1)枚举两个数,作为数列中相邻的两个元素Ai,Ai+1,那么可求出等差d=Ai+1-Ai。于是Ai-1=Ai-d,Ai+2=Ai+1+d,因此可以在剩下的数寻找Ai-1,Ai+2是否存在,可以用一个set来维护查找,而数列最长可为n,查找次数最大为n,而查找复杂度为logn,总时间复杂度为O(n^3logn)。复杂度太高,不可取。(2)动态规划求解。设f[i][j]为以a[i],a[j]结尾的等差 阅读全文
posted @ 2012-05-04 21:14
Eric-Yang
阅读(910)
评论(0)
推荐(0)

浙公网安备 33010602011771号