アルゴリズムカラーソート
3468 ワード
色のソート
i,kは2つのポインタとして,j移動時にmid値を基準として交換する.
本を解く
class Solution:
def sortColors(self, nums: List[int]) -> None:
mid = 1
i, j = 0, 0
k = len(nums)
while j < k:
if nums[j] < mid:
nums[i], nums[j] = nums[j], nums[i]
i += 1
j += 1
elif nums[j] > mid:
k -= 1
nums[k], nums[j] = nums[j], nums[k]
else:
j += 1
この問題はダエストラが1976年に提起したオランダ国旗問題と同じ問題であり、迅速なソートの改善策にも大きく関係している.i,kは2つのポインタとして,j移動時にmid値を基準として交換する.
Reference
この問題について(アルゴリズムカラーソート), 我々は、より多くの情報をここで見つけました https://velog.io/@injoon2019/알고리즘-색-정렬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol