最大サブセグメントと_アルゴリズムとデータ構造_Python

1171 ワード

今日は幸いにもテンセントの実習に参加した一面があって、おそらく最後の一面で、コードを書くことはめったになくて、書くのもmatlabでいくつかの画像の方面の処理をしています.
面接官は私に簡単な自己紹介をさせて、それから私の履歴書をスキャンして、私に最大のサブセグメントとコードを書かせました.私は彼に言語に限らないことを聞いて、彼はためらって、それからいいと言って、悲劇はこれから誕生して、私はpythonで最大のサブセグメントとプログラムを作って、これは動的に計画するプログラムであまり難しくなくて、彼は読めなくて、私にc言語の反転文字列プログラムを書かせて、はは、見積もって彼をからかったでしょう、しかし私も悲劇だと思います.
最も私を困らせたのは彼が私にmatlabが何なのかと聞いたことで、これは私に何が恥ずかしいのか、私は勝手に2つのことを言った.もし彼が本当に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)