当前位置: 首页 > news >正文

网站系统维护一般多长时间html5 图片展示网站

网站系统维护一般多长时间,html5 图片展示网站,兰州怎么提高网站的排名,有哪些做农产品的网站力扣hot100中并没有单独的一章讲排序的,但是一些重要的排序方法还是需要掌握的,比如快排和归并。很多使用堆能解决的问题,快排也可以解决。经典的就是第K大问题。快排: class Solution:def partition(self, nums, left, right):&…
  • 力扣hot100中并没有单独的一章讲排序的,但是一些重要的排序方法还是需要掌握的,比如快排和归并。
  • 很多使用堆能解决的问题,快排也可以解决。经典的就是第K大问题。
  • 快排:
class Solution:def partition(self, nums, left, right):"""划分函数:以nums[right]为基准,返回基准值的正确位置索引"""pivot = nums[right]i = left - 1  # 指向小于基准的子数组末尾for j in range(left, right):if nums[j] <= pivot:i += 1nums[i], nums[j] = nums[j], nums[i]  # 将小元素交换到左侧nums[i+1], nums[right] = nums[right], nums[i+1]  # 基准归位return i + 1def topk_split(self, nums, k, left, right):"""快速选择算法核心:找到第k小元素的位置后停止递归"""if left < right:# 注意必须添加 self. 调用类方法index = self.partition(nums, left, right)if index == k:return  # 找到目标位置,终止递归elif index < k:self.topk_split(nums, k, index+1, right)  # 处理右半部分else:self.topk_split(nums, k, left, index-1)  # 处理左半部分#获得前k小的数def topk_smalls(nums, k):topk_split(nums, k, 0, len(nums)-1)return nums[:k]#获得前k大的数 def topk_larges(nums, k):#parttion是按从小到大划分的,如果让index左边为前n-k个小的数,则index右边为前k个大的数topk_split(nums, len(nums)-k, 0, len(nums)-1) #把k换成len(nums)-kreturn nums[len(nums)-k:] 

一、215. 数组中的第K个最大元素

在这里插入图片描述

  • 思路:经典的快排和堆的题目
  • 代码1:快排(这道题单纯使用快排无法ak)
class Solution:def findKthLargest(self, nums, k):def quick_sort(nums, k):pivot = random.choice(nums)big, equal, small = [], [], []for num in nums:if num > pivot:big.append(num)elif num < pivot:small.append(num)else:equal.append(num)if k <= len(big):                  # 第 k 大元素在 big 中,递归划分return quick_sort(big, k)if k > len(nums)-len(small):       # 第 k 大元素在 small 中,递归划分return quick_sort(small, k-len(nums)+len(small))return pivot                       # 第 k 大元素在 equal 中,直接返回 pivotreturn quick_sort(nums, k)
  • 代码2:堆
class Solution:def findKthLargest(self, nums: List[int], k: int) -> int:pq = []   # 将数组加入小顶堆,堆中维护当前值最大的k个数for num in nums:heapq.heappush(pq, num) # 当前元素入堆if len(pq) > k:heapq.heappop(pq)   # 堆中元素超过k个,弹出最小的那个return pq[0]    # 最后堆顶的即为第k大的数

二、347. 前 K 个高频元素

在这里插入图片描述

  • 思路:
    用字典保存每个数字出现次数,最后排序key
  • 代码:
class Solution:def topKFrequent(self, nums: List[int], k: int) -> List[int]:# 使用 defaultdict 统计每个元素出现的次数coll_dea = collections.defaultdict(int)for i in nums:coll_dea[i] += 1# 按频率排序(从高到低),然后取前 k 个元素sorted_items = sorted(coll_dea.items(), key=lambda x: x[1], reverse=True)ans = [item[0] for item in sorted_items[:k]]  # 提取前 k 个元素的值return ans
http://www.dtcms.com/a/612552.html

相关文章:

  • 专业上海网站建设公司哪家好做网站dw怎么用
  • 北京房地产网站建设功能多的网站模板 中文内容
  • 网站建设中模板自己做网站怎么能被访问
  • 手机主题如何自己制作网站黄冈论坛网
  • 一步一步网站建设教程网站后台怎样推荐图片
  • app软件下载站seo教程动画制作用什么软件好
  • 昆明网站建设搜王道下拉免费开发软件制作平台
  • 单页面网站建设加盟教育培训机构
  • 找个免费的网站wordpress 添加外观
  • 衡水专业制作网站成都住建局官网租房交易中心
  • wordpress 导航站模板下载搜索引擎优化的方式
  • 有免费的网站建设wordpress 清除cookies
  • 怎么看网站是不是php语言做的wordpress ipc主题
  • 个人博客手机网站模板合肥seo整站优化网站
  • 高端大气的网站模板杭州房产透明售房网
  • 网站自适应屏幕电子商务与网站建设策划书
  • 网站开辟两学一做专栏wordpress放在哪
  • 河北廊坊建设局网站网站建设的要点是什么意思
  • 程序可以做网站吗ps网站建设教程
  • 邢台移动网站建设广告设计海报
  • 网站右侧虚代码南宁网络营销网站
  • 建设网站需要申请报告网站空间有什么用
  • 商城网站项目策划书天河网站 建设信科网络
  • 苏州那家公司做网站好曹县网站建设公司
  • 昆明集团网站建设推广普通话作文
  • 站长之家工具查询企业网站营销常用的方法
  • 做网站制作外包苏州钻木网络科技有限公司
  • 网站部分网页乱码视频发布网站有哪些内容
  • 商业网站的后缀网站建设标准
  • 模版建站做公司网站哪家好 上海