私は並べ替えを依頼されましたk messed array
私は以下のコードがあります。私はcomplexity
をnlogn to nlogk
から減らす必要があります。どのように特定のリストのインデックスをPythonでソートするために適用する
arr = [3,2,1,4,5,6,8,10,9]
k = 2
def sortKmessedarr(arr, k):
i = 1
j = 0
n = len(arr)
while i < n:
if arr[i] > arr[i-1]:
pass
else:
arr[i-1:i+k].sort() # How to sort elements between two specific indexs
i += 1
sortKmessedarr(arr, k)
print(arr)
私はこのアプローチを適用した場合、それはnlogk
になるだろうと思いますしかし、どのようにこのsort()
indexes.
2の間を適用する私はまた、以下のような別のアプローチを試してみました:
arr = [3,2,1,4,5,6,8,10,9]
k = 2
def sortKmessedarr(arr, k):
def merge(arr):
arr.sort()
print(arr)
i = 1
j = 0
n = len(arr)
while i < n:
if arr[i] > arr[i-1]:
pass
else:
merge(arr[i-1:i+k])#.sort()
i += 1
sortKmessedarr(arr, k)
print(arr)
を
まだ運がない
あなたのコードが動作する場合がありますが、人々がより良い選択肢を提案したいです、あなたの質問はおそらく[コードレビュー](http://codereview.stackexchange.com/)の方が適しています。 – TemporalWolf