Leetcode--300. 最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。

示例:

输入: [10,9,2,5,3,7,101,18]
输出: 4 
解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。
说明:

可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。
你算法的时间复杂度应该为 O(n2) 。
进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗?

思路:从后往前推,依次比较观察

动态方程:if(dp[j]>dp[i])  dp[i]=max(dp[j],dp[j]+1)

提交的代码:

class Solution {
    public int lengthOfLIS(int[] nums) {
          int n =nums.length;
            int dp[] = new int[n];
            int i,j,max=0;
            for(i=n-1;i>=0;i--)
            {
                dp[i]=1;
                for(j=i;j<=n-1;j++)
                {
                    if(nums[j]>nums[i])
                    {
                        dp[i] = java.lang.Math.max(dp[i], dp[j]+1);
                    }
                    
                }
                max = java.lang.Math.max(max, dp[i]);
            }
            return max;
    }
}

完整的代码:


public class Solution300 {
     public static int lengthOfLIS(int[] nums) {
            int n =nums.length;
            int dp[] = new int[n];
            int i,j,max=0;
            for(i=n-1;i>=0;i--)
            {
                dp[i]=1;
                for(j=i;j<=n-1;j++)
                {
                    if(nums[j]>nums[i])
                    {
                        dp[i] = java.lang.Math.max(dp[i], dp[j]+1);
                    }
                    
                }
                max = java.lang.Math.max(max, dp[i]);
            }
            return max;
        }
     public static void main(String[] args)
     {
        int[] nums = {10,9,2,5,3,7,101,18};
        // int[] nums = {1,2};
         System.out.println(lengthOfLIS(nums));
     }
}
 

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

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

相关文章

枚举类型使用

一个博客: https://blog.csdn.net/javazejian/article/details/71333103 阿里开发规范: 【参考】枚举类名建议带上 Enum 后缀&#xff0c;枚举成员名称需要全大写&#xff0c;单词间用下划线隔开。 说明&#xff1a; 枚举其实就是特殊的类&#xff0c; 域成员均为常量&#xff…

多字段回溯 mysql_回溯算法 | 追忆那些年曾难倒我们的八皇后问题

前言说起八皇后问题&#xff0c;它是一道回溯算法类的经典问题&#xff0c;也可能是我们大部分人在上数据结构或者算法课上遇到过的最难的一道题……在这里插入图片描述第一次遇到它的时候应该是大一下或者大二这个期间&#xff0c;这个时间对啥都懵懵懂懂&#xff0c;啥都想学…

这一年,宇宙“面目”愈发清晰

来源&#xff1a;科技日报 深邃的星空&#xff0c;埋藏着无数奥秘&#xff0c;叩问2020年的宇宙苍穹&#xff0c;阵阵回响唤起惊奇与敬畏无数&#xff1a;人类首次在银河系外发现氧气、绘制迄今最大宇宙三维地图、发现“不可能存在”的中等质量黑洞……宇宙的秘密&#xff0c;正…

Leetcode--338. 比特位计数

给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i &#xff0c;计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: 5 输出: [0,1,1,2,1,2] 进阶: 给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可…

ASP.NET Core Web API 索引 (更新Identity Server 4 视频教程)

GraphQL 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(上)使用ASP.NET Core开发GraphQL服务器 -- 预备知识(下)[视频] 使用ASP.NET Core 开发 GraphQL 服务器 腾讯视频专辑&#xff1a;http://v.qq.com/vplus/4cfb00af75c16eb8d198c58fb86eb4dc/foldervideos/ead0015018e4u…

mysql connector net 6.9.3_MySQL Connector/Net 6.9.3 发布 MySQL Connector/Net 6.9.3下载

MySQL Connector/ODBC 是 MySQL 数据库的官方 .NET 平台驱动程序。MySQL Connector/Net 6.9.3 发布&#xff0c;此版本是 6.9 系列的第一个 GA 版本。Bugs 修复Adding a new column to an existing model as identity and PK failed when applying the migration. (Bug #192863…

Leetcode--50. Pow(x,y)

实现 pow(x, n) &#xff0c;即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 示例 3: 输入: 2.00000, -2 输出: 0.25000 解释: 2-2 1/22 1/4 0.25 说明: -100.0 < x < 100.0 n 是 32 位有符号整数…

在失败中学习,MIT新研究显示,机器可以像婴儿一样学会理解人类目标

大数据文摘出品来源&#xff1a;MIT编译&#xff1a;周熙在Warneken和Tomasello关于人类社会智力的经典实验中&#xff0c;一个18月大蹒跚学步的幼儿看着一个男人抱着一堆书走向一个未开封的柜子。当男子到达柜子时&#xff0c;他笨拙地将书在柜门上撞了几下&#xff0c;然后发…

django http404 详解

【引子】 今天在看django的官方文档的时候看到get_object_or_404这个函数感觉比较奇怪。这个主要来自于它的功能&#xff0c;如果要查询的对象 存在那么就返回对象&#xff1b;如果对象不存在那么就要报404 Not Found &#xff1b;但是404 Not Found并不是它的返回值&#xff0…

这一年,科学高度不断刷新

来源&#xff1a;科技日报●存算一体架构在手写数字集上的识别准确率达到96.19%●截至12月14日21时&#xff0c;“天问一号”探测器已在轨飞行144天&#xff0c;飞行里程约3.6亿公里&#xff0c;距离地球超过1亿公里●嫦娥五号经历了11个阶段、23天的在轨工作&#xff0c;采集了…

python天天向上的力量三天打鱼两天晒网_017 示例3-天天向上的力量-Go语言中文社区...

一、"天天向上的力量"问题分析1.1 天天向上的力量基本问题&#xff1a;持续的价值一年365天&#xff0c;每天进步1%&#xff0c;累计进步多少呢&#xff1f;(1.01^{365})一年365天&#xff0c;每天退步1%&#xff0c;累计剩下多少呢&#xff1f;(0.99^{365})1.2 需求…

CNS三大刊2020年年度最佳论文全部出炉!脑科学一共4篇,我国学者入选1篇!

来源&#xff1a; brainnews编辑部、inature编辑部来源&#xff1a;生物谷旗下细胞公众号&#xff0c;药明康德团队旗下学术经纬公众号Cell ,Nature和Science 三大期刊2020年年度最佳论文全部公布&#xff0c;brainnews编辑部摘选其中跟脑科学相关的文章&#xff0c;跟大家一起…

Leetcode--191. 位1的个数

编写一个函数&#xff0c;输入是一个无符号整数&#xff0c;返回其二进制表达式中数字位数为 ‘1’ 的个数&#xff08;也被称为汉明重量&#xff09;。 示例 1&#xff1a; 输入&#xff1a;00000000000000000000000000001011 输出&#xff1a;3 解释&#xff1a;输入的二进制…

redis创建像mysql表结构_Redis数据结构列表实现

双向链表linkedlistRedis实现的是标准的双向链表。链表节点定义&#xff1a;链表定义&#xff1a;总结链表实现&#xff1a;1.每个节点有前后节点指针&#xff0c;且第一个节点的指针为NULL,最后一个节点的指针为NULL(无环)。2.对双链表进行封装&#xff0c;链表第一个节点和最…

神经符号系统、因果推理、跨学科交互,李飞飞、Judea Pearl等16名学者共同探讨AI未来...

来源&#xff1a;机器之心去年&#xff0c;纽约大学心理学和神经科学教授 Gary Marcus 和深度学习先驱、2018 年图灵奖得主 Yoshua Bengio 就 AI 技术的发展方向展开了一场现场辩论。今年&#xff0c;Gary Marcus 与 Montreal.AI 负责人 Vincent Boucher 举办了第二场辩论。这次…

Leetcode--190. 颠倒二进制位

颠倒给定的 32 位无符号整数的二进制位。 示例 1&#xff1a; 输入: 00000010100101000001111010011100 输出: 00111001011110000010100101000000 解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596&#xff0c; 因此返回 964176192&…

python意外缩进引发逻辑错误_python – IndentationError:意外的缩进错误

我是Python的新手,我得到这个错误&#xff1a;Traceback (most recent call last):File "/usr/local/bin/scrapy", line 4, in execute()File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scrapy/cmdline.py&qu…

数字孪生城市应用【案例集】,附下载

来源&#xff1a;中国信通院等数字孪生城市经过三年的概念培育期&#xff0c;目前已经步入落地实施阶段&#xff0c;各地不同程度地推进数字孪生城市规划建设和行业应用创新实践。中国信息通信研究院联合数字孪生城市生态圈合作伙伴&#xff0c;在推出《数字孪生城市白皮书&…

六月中旬的心得

六月一眨眼的时间就来到了中旬&#xff0c;时间流逝之快让我们有些措手不及&#xff0c;炎热的天气更是加剧了小组里每个人的焦虑&#xff0c;也因此有了更大的动力与决心去完成自己的工作。 自己的工作是这个游戏的前端&#xff0c;需要完成的任务是做出来登录等一系列的用户界…

Leetcode--461. 汉明距离

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y&#xff0c;计算它们之间的汉明距离。 注意&#xff1a; 0 ≤ x, y < 231. 示例: 输入: x 1, y 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭…