压缩字符串 排序数组 443. 压缩字符串 class Solution: def compress(self, chars: List[str]) -> int: n = len(chars) i = 0 write = 0 while i < n: j = i while j < n and chars[j]==chars[i]: j+=1 chars[write] = chars[i] write +=1 if j-i >1: for c in str(j-i): chars[write] = c write+=1 i = j return write 912. 排序数组 - 快排优化 def partition(arr,low,high): i = low-1 rd = random.randint(low,high) arr[rd],arr[high] = arr[high],arr[rd] privot = arr[high] for j in range(low,high): if arr[j]<=privot: i+=1 arr[i], arr[j] = arr[j],arr[i] arr[i+1], arr[high] = arr[high],arr[i+1] return i+1 def quicksort(arr,low,high): if low<high: pi = partition(arr,low,high) quicksort(arr,low,pi-1) quicksort(arr,pi+1,high) quicksort(nums,0,len(nums)-1) return nums