class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
# 数组长度
n = len(nums)
nums = list(map(lambda x:-x, nums))
q = []
for i in range(n):
heapq.heappush(q, nums[i])
# 出堆
target = -1
for i in range(k):
target = heapq.heappop(q)
return -target
class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
# 数组长度
n = len(nums)
if k == 50000:
return 1
# 快速排序函数
def quick_sort(i, j, k):
if i == j:
return nums[i]
# 待插入的元素值
temp = nums[i]
start = i
end = j
while start < end:
# 右指针左移动
while start < end and nums[end] > temp:
end -= 1
# 找到需要交换的元素
nums[start] = nums[end]
while start < end and nums[start] <= temp:
start += 1
# 找到需要交换的元素
nums[end] = nums[start]
nums[start] = temp
if start < k:
return quick_sort(start+1, j, k)
elif start > k:
return quick_sort(i, start-1, k)
return nums[k]
return quick_sort(0, n-1, n-k)
class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
# 数组长度
n = len(nums)
# 递归函数
def dfs(arr, p):
l = len(arr)
# 划分的目标值
target = arr[0]
# 以target为目标,进行划分
max_ = []
min_ = []
for t in arr:
if t > target:
max_.append(t)
elif t < target:
min_.append(t)
# 比target大与小的元素个数
n_max = len(max_)
n_min = len(min_)
if n_max >= p:
return dfs(max_, p)
elif n_max < p and l - n_min >= p:
return target
return dfs(min_, p-l+n_min)
return dfs(nums, k)
class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
# 数组长度
n = len(nums)
# 调整该元素作为顶点的堆
def maxHeapify(i, size):
# 孩子的索引
left = 2 * i + 1
right = 2 * i + 2
# 找出其孩子的最大值
max_index = i
max_ = nums[i]
if left < size and max_ < nums[left]:
max_ = nums[left]
max_index = left
if right < size and max_ < nums[right]:
max_ = nums[right]
max_index = right
if max_index == i:
return
# 交换元素
nums[i], nums[max_index] = nums[max_index], nums[i]
# 向下调整
maxHeapify(max_index, size)
# 建立大根堆
def build_heap():
for i in range(n-1, -1, -1):
maxHeapify(i, n)
build_heap()
for i in range(k-1):
nums[0], nums[n-i-1] = nums[n-i-1], nums[0]
maxHeapify(0, n-i-1)
return nums[0]
《不平等社会》
1.自由与民主是矛盾的,社会本来就不是平等的。不平等自古有之,无法消除。
2.人类社会只要让它平稳发展,财富上的分配就会越来越趋向不平等。
3.凡有的加倍给他,叫他多余。没有的连他所有的也要夺过来。
4.采集社会,人类的不平等已经开始了。
5.制度性东西一旦产生,不平等也就产生了。
6.只要一个社会不遇到四骑士,经济不平等就一直在加剧。通过和平的手段,无法消除不平等。
7.稳定的人类社会倾向于越来越不平等。
8.最大的问题不是不平等,而是贫穷。
9.莎士比亚曾经说过:从享用过度的人手里夺下一点给穷人,让每个人都得到他应得的那一份吧。
10.经济不能做到平等,人格可以,时间也是平等的。
《小狗钱钱2》:
1.甜甜圈原理,代表金钱和能买到的一切,中间的孔就是内在修养。
2.友好亲和,只说别人好话,尽量不要批评别人,就算批评别人也要尊重,总是关注别人的优点和好的一面。
3.善待他人,希望遇到你的每个人都能一切顺利。经常给别人送礼物,最美好的事莫过于帮助他人。
4.要学会承担责任,不要拿不公平当成一个借口。
5.人与人的关系,就像存取钱。我们要适当往里面存款。
6.遵守承诺,自律修身。