在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。
先將原序列排序,然後從排完序的陣列中取出最小的,它在原陣列中的位置表示有多少比它大的數在它前面,每取出乙個在原陣列中刪除該元素,保證後面取出的元素在原陣列中是最小的,這樣其位置才能表示有多少比它大的數在它前面,即逆序對數。
**超時
class
solution
:def
inversepairs
(self, data)
:# write code here
count=
0 copy = data[::
1]copy.sort(
)# 等價於 sorted返回新的列表
# copy = sorted(data)
for i in copy:
count += data.index(i)
data.remove(i)
return count%
1000000007
劍指offer(Python)替換空格
這道題要求是 將乙個字串中的空格替換成 20 有多少個空格就替換成多少個 20 例如 hello world 中間有兩個空格,則需要輸出的形式是 hello 20 20world 字串首尾的空格亦算在內。class solution def replacespace self,s return 20...
劍指offer Python 替換空格
請實現乙個函式,將乙個字串中的每個空格替換成 20 python字串,有replace方法,可以實現替換,第乙個引數是要替換的內容,第二個引數是替換的新內容 能夠快速完成,果然python作為一種高階語言,不太適合做演算法 但是 replace 相當於 insert 在替換 時,會將原字串元素的位置...
《劍指offer》python 動態規劃
動態規劃是利用空間去換取時間的演算法.主要看 1.初始條件 2.重疊子問題 3.狀態轉移方程 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 coding utf 8 class solution def jumpfloo...