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

钓鱼网页在线生成网站潍坊正规建设网站

钓鱼网页在线生成网站,潍坊正规建设网站,宁波关键词优化平台,商标注册申请流程图前k个高频元素 题目描述解题思路代码实现 题目描述 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 解题思路 (1)先对给定的列表进行…

前k个高频元素

  • 题目描述
  • 解题思路
  • 代码实现

题目描述

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]

解题思路

(1)先对给定的列表进行快速排序,按升序排(这里采用的非递归方式,因为最近在学习非递归快速排序的思想)
(2)非递归快速排序思想:找一个基准进行一趟快排,一般会产生两个区间,可以用一个栈保存这两个区间(区间类型[start,end]),并归位一个元素。
这是一次快速排序的结果,如果采用非递归,则需要对每一个入栈的区间一次次缩小范围,即循环判断栈 若不为空,则出栈,也就是拿出一个区间,继续下一趟快排,再归位一个元素,然后再判断产生的区间入栈,直到栈为空。
(3)快速排序结束后,原数组有序,这里找前k个高频元素,用字典存储每个元素的出现次数,并对字典进行降序排序,输出前k个key值。

代码实现

def frequentlyHighNo(nums, k):my_stack = []if len(nums)<=1:return numsmy_stack.append(0)my_stack.append(len(nums)-1)flag = 0while len(my_stack):j = my_stack.pop()i = my_stack.pop()begin = iend = jprint(begin, end)temp = nums[begin]print(temp)while begin < end:while begin < end and temp <= nums[end]:end -= 1while begin < end and temp >= nums[begin]:begin += 1if begin < end:nums[begin], nums[end] = nums[end], nums[begin]nums[i], nums[begin] = nums[begin], nums[i]mid = beginif i+1 < mid:my_stack.append(i)my_stack.append(mid-1)if mid < j-1:my_stack.append(mid+1)my_stack.append(j)res = {}for num in nums:if num not in res.keys():res[num] = 1else:res[num] += 1print(res)sorted_res = sorted(res.items(), key= lambda item: item[1], reverse=True)x_res = []u = 0while u<k:x_res.append(sorted_res[u][0])u+=1return x_res
http://www.yayakq.cn/news/553221/

相关文章:

  • 锦州网站制作公司桂林市防疫最新政策
  • 天津通用网站建设方案西宁网站建设建站
  • 内蒙古创意星空网站开发个人seo外包
  • 外贸网站开发商务网站的类型一共有几大类
  • 项目合作网站昆明网站空间
  • 网站里面如何做下载的app北京网站关键词优化推荐
  • 怎么做网站赚钱西安高端网站建设哪家好
  • 如何做能切换语言的网站创新型的合肥网站建设
  • 网站服务器是什么意思阳江市招聘最新招聘
  • 梁平区高点击量网站建设哪家好企业网站怎么维护
  • 企业网站酷站简约ppt模板免费下载
  • win2012做网站wordpress4.9安装出错
  • 比较好的品牌策划公司有哪些即墨网站优化
  • 天津模板建站代理个人可以做微信小程序吗?
  • 陕西省建设业协会网站app软件开发的工具介绍
  • 网站推广优化平台汕尾住房和建设局网站
  • 天津网站在哪里建设房产管理局官网入口
  • 广州建网站有哪些邵阳网站建设多少钱
  • 重庆长寿网站设计公司推荐php网站建设模板下载
  • wordpress gallery插件百色网站优化
  • 如何给网站做2维码wordpress在线教育功能
  • 微网站特点最热门的短期培训课程
  • 微信小程序怎么弄成二维码seo排名如何
  • 手机网站一键分享网站开发要什么软件有哪些
  • 石家庄建设工程招标办网站专业的vi设计企业
  • 有什么软件可以做网站wordpress首页如何增加模块
  • 网站开发对企业的关键24小时学会网站建设 下载
  • 一站多通怎么做网站设置个网站要多少钱
  • 男女做羞羞完整版网站徐州铜山区
  • 济南网站建设联系小七西部数据wordpress