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

苏州市建设局招标网站首页最火网页游戏

苏州市建设局招标网站首页,最火网页游戏,网站备案号找回密码,个人简历表文章目录 前言LeetCode、2542. 最大子序列的分数【中等,排序小顶堆】题目及类型思路及代码实现 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领…

文章目录

  • 前言
  • LeetCode、2542. 最大子序列的分数【中等,排序+小顶堆】
    • 题目及类型
    • 思路及代码实现
  • 资料获取


前言

博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。

涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。

博主所有博客文件目录索引:博客目录索引(持续更新)

视频平台:b站-Coder长路


LeetCode、2542. 最大子序列的分数【中等,排序+小顶堆】

来源:《LeetCode 75》

题目及类型

题目链接:2542. 最大子序列的分数

类型:数据结构/树/小顶堆


思路及代码实现

思路:排序+小顶堆

  1. 对nums2进行降序排序(排序数组中的值为nums2的索引位置值)【目的:快速定位k个元素中最小的值,我们是直接由min中的最大值来开始推导】。
  2. 从排序数组的第一个元素开始,由于是顺序,每次取到的i位置,其nums2[i]都是在[i-k+1,i]中最小的,那么就可以实际就是题目中的min(nums2[i0] , nums2[i1], … ,nums2[ik - 1])。那么对于进行k个元素的和怎么计算呢?每次取到索引值,我们就直接累加这个nums1[i]到sum中,并且将这个值添加到一个小顶堆里。
  3. 每次得到一个新的i位置时,sum会累加nums1[i],同时将nums2[i]作为min(k个nums2元素)的最小值,最后计算得到结果后,再将小顶堆中的最小值移除(问这个移除是否影响到min最小值的确定,并不会原因是每次取到的nums2[i]都已经是前面范围的最小值了!所以我们也无需管移除的最小值是什么)

复杂度分析:时间复杂度O(n.logn);空间复杂度O(n)

class Solution {public long maxScore(int[] nums1, int[] nums2, int k) {int n = nums1.length;//维护k个元素的小顶堆PriorityQueue<Integer> queue = new PriorityQueue<>(k);//创建nums2数组的索引数组,并且根据nums2数组中的值降序排列的索引数组Integer[] sorteds = new Integer[n];for (int i = 0; i < n; i ++) {sorteds[i] = i;}//根据nums2的值进行降序排列Arrays.sort(sorteds, (i, j)->nums2[j]-nums2[i]);//定义一个k个值组成的sumlong sum = 0L;//首先合并k-1个元素值for (int i = 0; i < k - 1; i ++) {sum += nums1[sorteds[i]];//合并的是基于索引值的nums1数组元素queue.offer(nums1[sorteds[i]]);}long ans = 0L;//遍历剩余的所有元素,每次构成一个新的组合for (int i = k - 1; i < n; i ++) {//将当前值累加,并将当前值添加到sum += nums1[sorteds[i]];queue.offer(nums1[sorteds[i]]);//sum即为k个元素之和   nums2[sorteds[i]]则为k个中最小的值ans = Math.max(ans, sum * nums2[sorteds[i]]);//出小顶堆中最小的元素sum -= queue.poll();}return ans;}
}

image-20240117195726842

资料获取

大家点赞、收藏、关注、评论啦~

精彩专栏推荐订阅:在下方专栏👇🏻

  • 长路-文章目录汇总(算法、后端Java、前端、运维技术导航):博主所有博客导航索引汇总
  • 开源项目Studio-Vue—校园工作室管理系统(含前后台,SpringBoot+Vue):博主个人独立项目,包含详细部署上线视频,已开源
  • 学习与生活-专栏:可以了解博主的学习历程
  • 算法专栏:算法收录

更多博客与资料可查看👇🏻获取联系方式👇🏻,🍅文末获取开发资源及更多资源博客获取🍅


整理者:长路 整理时间:2024.1.17

http://www.yayakq.cn/news/913153/

相关文章:

  • 摄影网站建设需求分析长清网站建设费用
  • 静态手机网站广州网站建设培训
  • 一个网站上线的时间网站建设的元素
  • 推广网站和品牌网站的区别centos7 wordpress 安装
  • 企业网站手机端网站维护管理
  • 常见的网络营销方式seo一个空间建多个网站
  • 商标查询官方入口长沙优化科技
  • 河南住房和城乡建设厅门户网站潍坊个人做网站的公司
  • 多语言网站多域名推广泰安vx
  • 南山网站设计多少钱给人做传销网站
  • 淘宝网怎样做网站做网站销售有前景
  • 手机网站需要域名吗成都成立公司
  • 如何做网页游戏网站丰台网站建设推广
  • 国际站关键词推广北京市建设工程交易信息网官网
  • 曲靖市网站建设c语言做网站后端
  • 网页设计的网站配色方案初中做语文综合题的网站
  • 咸阳企业网站建设wordpress主题什么意思
  • 公司网站建设南宁深圳全网推广营销怎么做
  • 海外购物网站上填手机号码怎么做南宁求介绍seo软件
  • 外贸网站演示图片幻灯片插件 wordpress
  • 网站开发的技术类型有哪些品牌推广公司
  • 网站建设项目实训报告网站数据库建设
  • 公司网站打开很慢电子商务都包括什么
  • 做视频网站 版权怎么解决企业网络搭建书籍
  • 苏州网站建设自助建站模板遵义你想网
  • 学做淘宝网站是骗子吗西安建设工程网上交易平台
  • 网站规划的注意事项网站建设企划书
  • 英文网站建设注意事项wordpress自带jquery
  • 周口网站制作外贸平台有哪些用户量大的
  • 毕业视频代做网站选择邯郸做网站