①②
一别都门三改火,天涯踏尽红尘。依然一笑作春温。无波真古井,有节是秋筠。
惆怅孤帆连夜发,送行淡月微云。尊前不用翠眉颦。人生如逆旅,我亦是行人。
2022年8月22日
204. 计数质数
2022年8月23日
326. 3 的幂
# 判断 N 是否是 n 的幂
def isPowerofN(n, N):
# n 的 0 次幂即等于 1
if N == 1:
return True
elif N < 1:
return False
return True if isPowerofN(n, N / n) else False
# 判断是否是质数
def isPrimeNumber(n):
if n == 1:
return False
else:
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
# 计数:小于 n 的数中,质数的数量(埃氏筛法)
def countPrimes(n):
count = 0
primeNums = [True] * n
for i in range(2, n):
if primeNums[i]:
count += 1
for j in range(i+i, n, i):
primeNums[j] = False
return count
2022年8月24日
118. 杨辉三角
2022年8月25日
css企业开发经验、习惯,盒子模型,层模型
2022年8月26日
希尔排序
时间:
空间:
# 希尔排序
def shellSort(nums):
def shellHelper(nums, start, gap):
n = len(nums)
for i in range(start+gap, n, gap):
temp = nums[i]
for j in range(i, gap-1, -gap):
if (temp < nums[j-gap]):
nums[j] = nums[j-gap]
else:
j += gap
break
nums[j-gap] = temp
n = len(nums)
gap = n // 2
while gap > 0:
for i in range(gap):
shellHelper(nums, i, gap)
gap //= 2
return nums
2022年8月27日
2022年8月28日
归并排序
时间:
空间:
# 归并排序
import random
def mergeSort(nums):
if len(nums) < 2: return nums
# temp = []
mid = len(nums) >> 1
left, right = nums[:mid], nums[mid:]
return merge(mergeSort(left), mergeSort(right))
def merge(left, right):
res = []
i, j = 0, 0
while i < len(left) and j < len(right):
if left[i] <= right[j]:
res.append(left[i])
i += 1
else:
res.append(right[j])
j += 1
while i < len(left):
res.append(left[i])
i += 1
while j < len(right):
res.append(right[j])
j += 1
return res
def aNums(n):
nums = []
for i in range(n):
nums.append(i)
for i in range(n >> 1):
l, r = random.randint(0, n-1), random.randint(0, n-1)
nums[l], nums[r] = nums[r], nums[l]
return nums
nums = aNums(20)
print(mergeSort(nums))