日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

小和问题

發布時間:2025/4/5 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小和问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小和問題:在一個數組中,每一個數左邊比當前數小的數累加起來,叫做這個數組的小和,求一個數組的小和

例子:

[1,3,4,2,5]

1-> 1

3-> 1

4 -> 1,3

5 -> 1,3,4,2

1+? ?1+?3+? ?1? ?+1+3+4+2 = 16

此問題可以轉化為當前值右側有幾個比當前值大,比較大的個數 * 當前值 求和,如:

1? -> 3,4,2,5? ?4*1

3? -> 4,5? ? ? ? ?2*2

4? -> 5? ? ? ? ? ?1*4

2? -> 5? ? ? ? ? ?1*2

import syssys.setrecursionlimit(10000)def mergeSort(L,l,r): if l == r:return 0mid = int(l + ((r-l)>>1))return mergeSort(L,l,mid) + mergeSort(L,mid+1,r) + merge(L,l,mid,r)def merge(L,l,m,r):help_ = [0] * (r-l+1)i = 0p1 = lp2 = m + 1res = 0while p1 <= m and p2 <= r:if L[p1] < L[p2]:res += (r-p2+1)*L[p1]help_[i] = L[p1]i +=1p1 +=1else:help_[i] = L[p2]i +=1p2 +=1while p1 <= m:help_[i] = L[p1]i +=1p1 +=1while p2 <= r:help_[i] = L[p2]i +=1p2 +=1for i in range(len(help_)):L[l+i] = help_[i]return resmergeSort([1,3,4,2,5],0,4)

?

?

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的小和问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。