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

烟台主流网站东莞互联网公司排名

烟台主流网站,东莞互联网公司排名,品牌官方网站建设,php网站开发学习班注:代码及讲解参考:https://leetcode.cn/problems/sort-an-array/solution/duo-chong-pai-xu-yi-wang-da-jin-kuai-pai-wgz4/ 一、基于最大堆的排序方法 1. 什么是最小堆,最大堆,以及堆的插入和删除操作,可以参考该博…

注:代码及讲解参考:https://leetcode.cn/problems/sort-an-array/solution/duo-chong-pai-xu-yi-wang-da-jin-kuai-pai-wgz4/

一、基于最大堆的排序方法

1. 什么是最小堆,最大堆,以及堆的插入和删除操作,可以参考该博文,讲的非常好

注意:实现数组升序排列,用最大堆;实现数组降序排列,用最小堆

class Solution:def sortArray(self, nums):def max_heap(nums,temp_root,end):child=temp_root*2+1while child<=end:if child<end and nums[child+1]>nums[child]:child+=1 if nums[temp_root]<nums[child]:nums[temp_root],nums[child]=nums[child],nums[temp_root]temp_root=childchild=temp_root*2+1else:break  n=len(nums)for i in range(n//2-1,-1,-1):max_heap(nums,i,n-1)nums[0],nums[n-1]=nums[n-1],nums[0]for i in range(n-1,1,-1):max_heap(nums,0,i-1)nums[0],nums[i-1]=nums[i-1],nums[0]return nums

二、基于快速排序方法

import random
class Solution(object):def sortArray(self,nums):def partition(nums,low,high):pivot=nums[low]left=lowright=high while left<right:while left<right and nums[right]>=pivot:right-=1 nums[left],nums[right]=nums[right],nums[left]while left<right and nums[left]<=pivot:left+=1nums[left],nums[right]=nums[right],nums[left]return leftdef quick_sort(nums,low,high):if low>=high:return# 决定pivot,mid pivot_num=random.randint(low,high)nums[pivot_num],nums[low]=nums[low],nums[pivot_num]mid=partition(nums,low,high)quick_sort(nums,low,mid-1)quick_sort(nums,mid+1,high)quick_sort(nums,0,len(nums)-1)    return nums 

三、归并排序(效率最高,内存占用最少)

class Solution:# 归并排序def sortArray(self, nums):def mergeArray(arr,low,high):mid=low+(high-low)//2if not (low==mid):mergeArray(arr,low,mid)mergeArray(arr,mid+1,high)left=lowright=mid+1 temp=[]while left<=mid and right<=high:if arr[left]<=arr[right]:temp.append(arr[left])left+=1else:temp.append(arr[right])right+=1while left<=mid:temp.append(arr[left])left+=1while  right<=high:temp.append(arr[right])right+=1arr[low:high+1]=temp mergeArray(nums,0,len(nums)-1)return nums 
http://www.lbrq.cn/news/2365345.html

相关文章:

  • WordPress分段插件沈阳seo网站关键词优化
  • 七宝网站建设crm
  • 哈尔滨阿城网站建设seo是指
  • 宜昌网站建设哪家好怎么制作一个网站5个网页
  • 深圳楼市最新消息西安seo按天收费
  • 网站建设也笔试如何让新网站被收录
  • 帝国网站建设业务推广公司
  • 网站建设模型软件谷歌seo 优化
  • 凌风wordpress视频哈尔滨优化网站方法
  • 济南定制网站建设seo搜索引擎招聘
  • 广东东莞疫情最新消息通知广州网站优化服务商
  • 挂马网站教程seo的搜索排名影响因素有哪些
  • 武汉衍艺 网站建设在百度上打广告找谁
  • 系统优化的方法哲学seo1新地址在哪里
  • 企业电商网站优化重庆seo网站运营
  • 淘淘乐网站建设正安县网站seo优化排名
  • 网站建设公司做网站要多少费用企业网站建设需求分析
  • 手机端企业网站模板百度小说搜索风云排行榜
  • 被邀请做刷客会不会碰到钓鱼网站网络公司推广方案
  • 网站菜单分类怎么做的网站推广优化方法
  • 诚聘网站开发人员中国十大搜索引擎排名
  • wordpress非官方沈阳seo团队
  • 菏泽seo网站seo资讯
  • 四川监理协会建设网站网络销售挣钱吗
  • 洛阳做网站排名网络推广产品要给多少钱
  • 怎么做服装外贸网站站长统计免费下载
  • 免费服务器空间申请网站设计优化
  • 网站开发软件标书范本seo优化培训学校
  • 昆山做网站优化电商还有发展前景吗
  • 轻松管理多个织梦网站新网域名查询
  • 爬虫小知识
  • 有痛呻吟!!!
  • 2025年视频超高清技术应用全景介绍
  • GESP2025年6月认证C++四级( 第三部分编程题(2)排序)
  • IIS网站间歇性打不开暴力解决方法
  • ESP32S3+VSCode+PlatformIO+Arduino+Freertos开发入门指南:基于Arduino框架的应用开发全流程