数组的最长递减子序列

news2024/11/19 5:29:39

求一个数组的最长递减子序列
如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}
思路:动态规划
构建与原数组同等容量的辅助数组dp,记录以每个元素结束的最大序列的长度,如dp[0]=1,如果dp[i]<dp[i-1],则dp[i]=dp[i-1]+1,否则dp[i]=1;循环可求出dp数组。最终根据求出的dp数组最大值以及该值的索引按需截取子串即可!
最长递增子序列反推即可!

line = '9 5 4 3 2 5 4 3 1';
line = line.split(' ');
let n = line.length;
let res = [];
let dp = [];
dp[0] = 1;
//构造动态数组记录截止每个元素时的递减长度
for (let i = 1; i < n; i++) {
    if (line[i] < line[i - 1]) {
        dp[i] = dp[i - 1] + 1;
    } else {
        dp[i] = 1;
    }
}
//console.log('dp', dp);
let max = dp[0];//
let tag = 0;
//找出截止该元素最长递减子列表长度及及其所在位置索引
for (let i = 1; i < n; i++) {
    if (max <= dp[i]) {
        max = Math.max(max, dp[i]);
        //找出最长递减子列表长度的结束位置
        tag = i;
    }
}
//console.log('max', max);
//用substr截取即可,tag+1是为了防止出现-1
res = line.join('').substr(tag + 1 - max, max);
// res=line.slice(tag-max,tag);
//console.log('tag', tag);
console.log('res', res);

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1141890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3学习(十四)--- vue3中css新特性

文章目录 样式穿透:deep()scoped的原理 插槽选择器:slotted()全局选择器:global()动态绑定CSScss module 样式穿透:deep() 主要是用于修改很多vue常用的组件库&#xff08;element, vant, AntDesigin&#xff09;&#xff0c;虽然配好了样式但是还是需要更改其他的样式就需要用…

《合成孔径雷达成像算法与实现》Figure5.12

clc clear close all%% 距离向参数 R_eta_c 850e3; % 景中心斜距%% 方位向参数 V_r 7100; % 等效速度 T_a 0.64; …

测试开发面经:面了6家公司,最终收割3个Offer

上个月花了一周时间面了6家公司&#xff0c;最终收割3个Offer。通过这6次面试&#xff0c;得到的最宝贵的经验是&#xff1a;快刀斩乱麻。展开说就是&#xff1a;给自己一点点压力&#xff0c;在短时间内迅速面试、迅速反馈、迅速提高&#xff0c;然后迅速进入下一场面试。 以下…

STM32H750之FreeRTOS学习--------(一)初识RTOS

FreeRTOS 一、初识RTOS 裸机&#xff1a;裸机又称为前后台系统&#xff0c;前台系统指的中断服务函数&#xff0c;后台系统指的大循环&#xff0c;即应用程序 实时性差,程序轮流执行delayCPU空等待&#xff0c;效率低程序混乱&#xff0c;臃肿&#xff0c;功能都放在while循环…

1python模块和库

终于到模块和库了&#xff0c;有一点感觉小激动&#xff0c;但是&#xff01;还是想继续努力&#xff0c;最近很多事情不是很顺&#xff0c;我加油学吧&#xff01; 要调用模块&#xff0c;首先你要写一个封装成功的东西 1、先写一个库 class Tool:staticmethoddef t1():pri…

PHP递归实现无限级分类

什么是无限级分类&#xff1f; 无限级分类是一种对商品或信息进行分类的方式&#xff0c;在这种分类方式中&#xff0c;每个分类都可以再次细分出更多的子分类&#xff0c;形成无限的级别 应用场景&#xff1a; 一个电商网站的分类可以是&#xff1a;服装、鞋类、家居用品等…

使用Gateway解决跨域问题时配置文件不生效的情况之一

首先html文件只有一个发送ajax请求 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&q…

二维码智慧门牌管理系统升级解决方案:要素类型

文章目录 前言一、点要素二、线要素三、面要素四、结语 前言 在二维码智慧门牌管理系统的升级中&#xff0c;我们着重解决了要素类型的问题。要素根据实体特征的不同&#xff0c;我们将其分为点、线、面三种要素类型。这样的分类方式使得管理更加科学、有序&#xff0c;大大提…

拜托,一定要让社区工作者刷到啊

社区工作者的福音来了&#xff0c;真的要试试啊 我愿称之为写作天花板&#xff01;只要输入你要写的内容&#xff0c;几秒钟就出来一篇&#xff0c;关键都不带重复的。 亲测好用&#xff0c;不用再绞尽脑汁的写方案&#xff0c;写总结啦&#xff0c;快试试啊

通过电商API接口分析电商平台客户消费行为

分析目的 通过电商API接口获取的数据分析销售数据来了解在线销售业务的消费情况&#xff0c;分析用户消费数据来分析用户的消费行为&#xff0c;为用户推荐相匹配的商品。 分析问题 店铺销售情况 每月成交额 每月销售金额 每月消费人数 每月订单数量 每月客单价 不同省…

鸡尾酒学习——环游世界

1、材料&#xff1a;白朗姆、龙舌兰、威士忌、金酒、伏特加、蓝橙力娇酒、柠檬汁、红石榴糖浆、橙汁、冰块&#xff1b; 2、口感&#xff1a;酸苦涩口味&#xff0c;下层感觉是在喝橙汁&#xff0c;上层在喝酒&#xff0c;适合喜欢喝橙汁以及酒的人&#xff0c;恰巧我不喜欢这两…

第五天:前端页面展示不出来

0.问题展示 但是我这个 展示不来 1.前端页面 渲染 不出来问题 首先想到的是&#xff0c;前端传值的问题然后排查到前端 传值是正确的传值的话&#xff0c;开始debugger 页面没有&#xff0c;然后找他的父页面&#xff0c;父页面是有值的然后找父 方法内部debugger发现第三步…

【疑问解决】在自动装箱中Integer赋予一个常量1,为什么会出现==判断true和flase的情况(JDK源码、内部缓冲)

问题来源自讲课时的Integer练习中 当时第一反应是false true true 因为第一段的输出为flase毋庸置疑了&#xff0c;因为已经new了两个新的堆空间&#xff0c;当然指向不同的空间了 但是第二段第三段就没有头绪了&#xff0c;自动装箱了难道不是执行同一个空间吗…

Go结构体接口反射

文章目录 Go结构体&接口&并发&反射一、结构体struct0、Type关键字1、struct定义及使用2、struct tag3、struct匿名成员3、struct继承4、struct方法 二、接口interface1、接口定义和使用2、空接口3、接口多态及嵌套 三、Go并发1、go协程2、chan管道3、单向管道4、Se…

oracle19c配置驱动

1.遇到的问题 下载jar包 https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19c-downloads.html 执行命令 mvn install:install-file -DgroupIdcom.oracle -DartifactIdojdbc19 -Dversion19.3.0.0 -Dpackagingjar -Dfileojdbc8.jar2.配置驱动 # 数据源配置 data…

浅析体育馆智能信息化升级的四大痛点与解决方案

体育馆是举办重要体育赛事、文艺汇演、商业演出等活动的重要场所&#xff0c;除了日常锻炼的人们以外&#xff0c;一旦举行活动都是人满为患。随着人们日益提高的体育需求&#xff0c;传统体育馆的设施已经无法满足大众的要求&#xff0c;为此旭帆科技特根据传统体育馆存在的几…

适合小团队的任务管理软件有哪些?5款小团队使用最多的项目工具

众所周知&#xff0c;在团队管理中&#xff0c;通过使用适当的任务管理软件&#xff0c;团队可以更高效地组织、分配和跟踪任务&#xff0c;提高工作效率和团队协作。然而&#xff0c;在市场上有许多不同的任务管理工具可供选择&#xff0c;因此选择适合团队的最佳工具可能会成…

设计师必备的插画设计素材网站

趋势很快就会下降&#xff0c;而新浪潮很快就会席卷而来。 品牌和设计师都意识到&#xff0c;他们需要放松僵化的自信&#xff0c;成为开放的团队合作伙伴。如果你对创意工作或趋势保持好奇&#xff0c;这些创意网站会让你摆脱混合的网页搜索推荐&#xff0c;帮助你获得最专业…

ICLR 2024 再现抄袭风波!原作者发帖实锤:过半方法都抄了

添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 夕小瑶科技说 原创 作者 | 智商掉了一地、ZenMoore 就在上个月末&#xff0c;ICLR 2024 的提交告一段落&#xff0c;在 OpenReview 上已经能够看到目前提交的文章了。虽然评阅结果尚未被发布&#xff0c;…

生成式AI - 大模型(LLM)提示工程(Prompt)技巧

提示工程可以描述为一种艺术形式&#xff0c;为大型语言模型&#xff08;LLMs&#xff09;创建输入请求&#xff0c;以实现预期的输出。以下是创造单个或一系列提示的不同技巧。 由少到多的提示 推理过程是基于证据和推理得出结论。反过来&#xff0c;可以通过为LLM提供一些关于…