当前位置: 首页 > 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/55326.html

相关文章:

  • 展厅设计搭建展位设计南平seo
  • 中卫网站推广软件免费网站制作app
  • 淘宝网站推广工具百度竞价开户费用
  • 网站建设应该注意的问题长沙seo推广
  • css创意网站模板微博推广费用一般多少
  • 电子商务网站建设目标百度手机导航官方新版
  • 电子商务网站建设流程西安seo优化培训机构
  • 东圃网站建设网站seo优化方法
  • 做网站需要招什么搜狗识图
  • 武汉做个网站多少钱seo 的作用和意义
  • 论坛网站策划全国疫情最新报告
  • 做网站的学什么代码网络营销的一般流程
  • 网站建设策划文案产品的推广及宣传思路
  • 做网站需要注意的地方微信软文是什么意思
  • 宜宾网站建设沈阳专业seo关键词优化
  • 想要一个网站seo教程seo优化
  • asp做的网站怎么发布2024年小学生简短小新闻
  • 门户网站导航建设方案北京seo关键词
  • 网站开发总结报告网站seo站群软件
  • wordpress4.9.5最专业的seo公司
  • 提供企业网站建设公司各大网站收录查询
  • 黄网站搭建注意什么意思app推广方案模板
  • 物流网站建设公司哪家好网店推广有哪些方法
  • java做网站需要的接口品牌推广方案
  • 网站建设实施方式如何制作微信小程序店铺
  • 北京朝阳区疫情最新情况百度seo关键词排名价格
  • 如何寻找一批做网站的公司软文广告图片
  • 泸州市往建局建设银行网站名称企业建站平台
  • 济南网络员百度seo优化网站
  • 深圳做网页网址seo关键词