| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 算法系列——动态规划9 -> 正文阅读 |
|
[数据结构与算法]算法系列——动态规划9 |
class?Solution?{ ????public: ????????int?maxUncrossedLines(vector<int>&?nums1,?vector<int>&?nums2)?{ ????????????/* ????????????dp[i][j]:以nums[i-1]结尾的数组与nums[j-1]结尾的数组元素相等且不相交的线的条数 ???????????? ????????????????""??1???4???2 ????????????""??0???0???0???0??? ????????????1???0???1???1???1 ????????????2???0???1???1???2 ????????????4???0???1???2???2 ???????????? ????????????if(nums[i-1]==nums[j-1])?dp[i][j]=dp[i-1][j-1]+1; ????????????else?dp[i]][j]=max(dp[i-1][j],dp[i][j-1]);如果没有对位相等,只有可能可能交错相等,dp[i][j]只可能来自这两种状态 ????????????*/ ????????????int?m=nums1.size(); ????????????int?n=nums2.size(); ????????????vector<vector<int>>dp(m+1,vector<int>(n+1)); ????????????for(int?i=1;i<=m;i++){ ????????????????for(int?j=1;j<=n;j++){ ????????????????????if(nums1[i-1]==nums2[j-1])?dp[i][j]=dp[i-1][j-1]+1; ????????????????????else?dp[i][j]=max(dp[i][j-1],dp[i-1][j]); ????????????????} ????????????} ????????????return?dp[m][n]; ????????} ????}; class?Solution?{ public: ????int?maxSubArray(vector<int>&?nums)?{ ????????/* ????????????dp[i]:以nums[i]结尾的连续子数组最大和 ????????????index???0????1????2????3????4???5???6????7???8 ????????????nums????-2???1???-3????4???-1???2???1???-5???4 ????????????dp??????-2???1???-2????4????3???5???6????1???5 ????????????在前面的dp数组最大值加上nums[i]和当前nums[i]的值中取最大值 ????????*/ ????????int?m=nums.size(); ????????vector<int>dp(m); ????????dp[0]=nums[0]; ????????for(int?i=1;i<=m-1;i++){ ????????????for(int?j=0;j<=i-1;j++){ ????????????????dp[i]=max(dp[j]+nums[i],nums[i]); ????????????}???????????? ????????} ????????int?max=INT_MIN; ????????for(auto?it:?dp){ ????????????if(it>max){ ????????????????max=it; ????????????} ????????} ????????return?max; ????} }; |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 3:33:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |