举例: array = {7,6,3,-10,2,-8,6}
和最大的子串为: 7 + 6 + 3 = 16
函数返回: 16
建议测试用例: {7,6,3,-10,200,-8,6} -> return 7 + 6 + 3 + (-10) + 200 = 206,
{7,6,3,-100,2,-8,6} -> return 2,
{100,-200,100,-10,100} -> return 100 + (-10) + 100 = 190.
其他情况可另行测试.
答案如下:
2.一个没有排序的链表,比如list={a,l,x,b,e,f,f,e,a,g,h,b,m},请去掉"重复项,并保留原顺序",以上链表去掉重复项后为newlist={a,l,x,b,e,f,g,h,m},请写出一个高效算法(时间比空间更重要)
提示:如果采用先排序,在去掉重复项的办法,复杂度为n+nlogn(采用快排),显然不是最优解,而且破还了"原顺序".还有其他解法.
答案如下: