class Solution:
def minMoves2(self, nums: List[int]) -> int:
nums.sort()
res = 0
index = len(nums)//2
for i in range(len(nums)):
res += abs(nums[i]-nums[index])
return res
class Solution:
def findSubstringInWraproundString(self, p: str) -> int:
res = 0
if not p:
return 0
dic = collections.defaultdict(int)
dic[p[0]] = 1
t = 1
for i in range(1,len(p)):
if ord(p[i]) - ord(p[i-1]) == 1 or ord(p[i-1]) - ord(p[i]) == 25:
t += 1
else:
t = 1
dic[p[i]] = max(dic[p[i]],t)
for i in dic:
res += dic[i]
return res
class Solution:
def rand10(self):
while True:
res = (rand7()-1)*7 + rand7()-1 #扩大等概率的概率区间
if res < 40:
return res%10 + 1