最大子段和_算法与数据结构_Python
今天有幸参加了腾讯实习的一面,估计也是最后一面了,很少写代码了,写也是用matlab在搞些图像方面的处理。
面试官让我做了下简单的自我介绍,然后扫了下我的简历,让我写一个最大子段和的代码。我问他语言不限吧,他迟疑了下,然后说可以,悲剧从此诞生,我用python弄了个最大子段和的程序,这是个动态规划的程序不算太难,他看不懂,让我写一个c语言的反转字符串程序,哈哈,估计把他逗了吧,但是我应该也是悲剧了。
最让我囧的是他问我matlab是什么东西,这让我情何以堪啊,我就随便说了两句。如果他真的不知道matlab那让我就无语了,学过计算机的人都应该知道matlab是啥东东把~~
最大子段和的程序就不用介绍了,下面的解答有点bf的意思。
python代码:
def SetSubSum(array,index): #获取每个子段和 global sums if sums[index-1]>=0: sums[index] = sums[index-1] + array[i] else: sums[i]=array[i] def GetMaxSum(array): #获取最大子段和 _max = array[0] for i in range(1,len(array)): if _max<=array[i]: _max=array[i] return _max if '__name__=__main__': array = [1,2,-2,3,4] global sums sums = [0]*len(array) for i in range(0,len(array)): SetSubSum(array,i) _max = GetMaxSum(sums) print("Max Sub Sum is:",_max)
posted on 2011-04-25 18:57 追求卓越 挑战极限 阅读(1319) 评论(0) 编辑 收藏 举报