【Leetcode 2099 】 找到和最大的长度为 K 的子序列 —— 索引与排序

给你一个整数数组 nums 和一个整数 k 。你需要找到 nums 中长度为 k子序列 ,且这个子序列的 和最大

请你返回 任意 一个长度为 k 的整数子序列。

子序列 定义为从一个数组里删除一些元素后,不改变剩下元素的顺序得到的数组。

示例 1:

复制代码
输入:nums = [2,1,3,3], k = 2
输出:[3,3]
解释:
子序列有最大和:3 + 3 = 6 。

示例 2:

复制代码
输入:nums = [-1,-2,3,4], k = 3
输出:[-1,3,4]
解释:
子序列有最大和:-1 + 3 + 4 = 6 。

示例 3:

复制代码
输入:nums = [3,4,3,3], k = 2
输出:[3,4]
解释:
子序列有最大和:3 + 4 = 7 。
另一个可行的子序列为 [4, 3] 。

索引与排序

TypeScript 复制代码
//索引与排序
function maxSubsequence(nums: number[], k: number): number[] {
  // 将索引保存
  let falseMap = nums.map((v, i) => [v, i]);
  // 从大到小排序
  falseMap.sort(([a], [b]) => b - a);
  falseMap = falseMap.slice(0, k);
  //按索引从小到大排序
  falseMap.sort((a, b) => a[1] - b[1]);
  //生成值,去掉索引
  return falseMap.map(([v]) => v);
}
相关推荐
Bellafu66619 分钟前
selenium 常用xpath写法
前端·selenium·测试工具
海洲探索-Hydrovo1 小时前
TTP Aether X 天通透传模块丨国产自主可控大数据双向通讯定位模组
网络·人工智能·科技·算法·信息与通信
_OP_CHEN2 小时前
C++基础:(十二)list类的基础使用
开发语言·数据结构·c++·stl·list类·list核心接口·list底层原理
blackorbird3 小时前
Edge 浏览器 IE 模式成攻击突破口:黑客借仿冒网站诱导攻击
前端·edge
谷歌开发者4 小时前
Web 开发指向标 | Chrome 开发者工具学习资源 (一)
前端·chrome·学习
名字越长技术越强4 小时前
Chrome和IE获取本机ip地址
前端
天***88964 小时前
Chrome 安装失败且提示“无可用的更新” 或 “与服务器的连接意外终止”,Chrome 离线版下载安装教程
前端·chrome
半梦半醒*4 小时前
zabbix安装
linux·运维·前端·网络·zabbix
2401_841495644 小时前
【计算机视觉】基于复杂环境下的车牌识别
人工智能·python·算法·计算机视觉·去噪·车牌识别·字符识别
Jonkin-Ma4 小时前
每日算法(1)之单链表
算法