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

分类信息网站平台的推广百度推广怎么推

分类信息网站平台的推广,百度推广怎么推,网页制作遮罩,西安网站建设有那些公司这道题我第一眼反应就是暴力,但是暴力的话就是n*n-1*n-2*...n-(n-1) 也就是O(n^n)dfs做绝对超时 贪心也不行,这里是子序列,要考虑在ni的范围内考虑多种路线取最优,所以用动态规划 如何用动态规划呢? 答:…

这道题我第一眼反应就是暴力,但是暴力的话就是n*n-1*n-2*...n-(n-1) 也就是O(n^n)dfs做绝对超时

贪心也不行,这里是子序列,要考虑在ni的范围内考虑多种路线取最优,所以用动态规划

如何用动态规划呢?

答:建立dp数组:每个dp存放0-i范围的子序列的最长递增子序列长度

用两个for循环

为什么不能用一个for循环?

答:比如0的长度为1,0-1的的最长子序列长度为1或者2

那0-3的最长子序列的长度就是3(nums3>nums2)或者2了嘛

这个只限于子串,子序列比较特殊,这里很难举例特殊例子,直接说明:

每个dp【i】代表着经过的路径,可以看成递归的归的父节点,dp【3】存放的可能是【2-3】,【1-3】【1-2-3】

所以用两个for循环外层为子序列最后结尾的最长长度,里层就遍历所有的子序列(因为每个dp【i】存放的是最优路径,所以dp[i]=max(dp[i],dp[j]+1) max里面 dp[i]就是上个子序列dp[j]+1,和现在dpj的最优路径加上nums【i】构成的子序列比较长度

//这里举例的数字是 1 3 5 8

题目

#include <vector>
#include <algorithm>class Solution {
public:int lengthOfLIS(std::vector<int>& nums) {int n = nums.size();if (n == 0) return 0;std::vector<int> dp(n, 1); int ans = 1;for(int i=1;i<n;i++){       for(int j=0;j<i;j++){if(nums[i]>nums[j]){dp[i]=max(dp[i],dp[j]+1);}}ans=max(ans,dp[i]);}return ans;}
};

http://www.dtcms.com/wzjs/262400.html

相关文章:

  • 广州棠下网站建设经典软文
  • 网站建设注意的问题南阳seo
  • 石家庄网站制作公司哪家好快速收录网
  • 出名的网站建设软件克州seo整站排名
  • 百度做网站优化多少钱一年百度一下百度官网
  • 长沙私人做网站网站注册账号
  • 怎么做各类网站seo排名
  • 主色调为绿色的网站网络营销和市场营销的区别
  • 政府网站开发公司国内免费顶级域名注册
  • wordpress 多站点 主题seo在哪学
  • 做企业网站的研究现状专业网站优化培训
  • 中小企业网站制作方法免费隐私网站推广app
  • 无忧网站建设多少钱网站建设需要多少钱
  • 马鞍山网站建设价格伊春seo
  • 廊坊集团网站建设商品seo优化是什么意思
  • 网站源码哪个好企业查询宝
  • 怎么建立自己网站百度一下首页百度一下
  • 婚姻介绍交友网站怎么建设网络热词的利弊
  • 用网站做简历有什么平台可以推广
  • 嘉兴网站专业怎么样推广自己的网站
  • win系统做网站今日头条十大新闻最新
  • 福建注册建设中心网站免费直链平台
  • 网站开发师是做什么的关键词优化公司推荐
  • 广州微信网站设计代写软文费用全网天下实惠
  • 专做正品 网站企业网站制作需要多少钱
  • 网站服务器租用价格多少钱一年百度导航下载2022最新版官网
  • 做网站的思路怎么写谷歌seo博客
  • 怎么选择网站开发公司网络公司网络推广服务
  • 一个小胖子从网站做任务的色情故事seo怎么提升关键词的排名
  • 做网站网络合同建网站找谁