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

招商网站建设公司seort什么意思

招商网站建设公司,seort什么意思,深圳做棋牌网站建设哪家公司收费合理,百度引擎检索动态网站题目链接: 链接 题目描述: 思路: 思路一:动态规划 类似于“单词拆分”,需要遍历之前的元素 对应的最大长度,然后找到最大的 设第 i i i个元素对应的最长递增序列长度是 d p ( i ) dp(i) dp(i)&#xff…

题目链接:

链接

题目描述:

在这里插入图片描述

思路:

思路一:动态规划

类似于“单词拆分”,需要遍历之前的元素 对应的最大长度,然后找到最大的
设第 i i i个元素对应的最长递增序列长度是 d p ( i ) dp(i) dp(i),每一个 d p ( i ) dp(i) dp(i)最初都是1

则:当 n u m s [ i ] > n u m s [ j ] nums[i] > nums[j] nums[i]>nums[j] 时,有
d p ( i ) = m a x { d p ( i ) , d p ( j ) + 1 } dp(i) = max\{ dp(i) ,dp(j) + 1 \} dp(i)=max{dp(i)dp(j)+1}
返回dp中的最大值就行

思路二

贪心 + 二分查找

要找最长的递增序列,就期望递增的幅度最小,相同长度下,递增的幅度越小,后面可以满足递增的元素就越多(不一定),按照这种思路写代码会存在一个问题:我们并不知道后面是否会有更多的满足递增的元素,如:0 2 6 7 4,最长的是0 2 6 7,但是按照上面的思路我们会选择0 2 4,

所以,我们也需要记录下已经遍历到的最长的递增序列及长度,我们可以使用一个数组d记录“已经遍历到的最长的递增序列”,如 0 2 6 7 len = 4,

如果有更长的递增序列,d里面的元素就应该被覆盖掉

怎么覆盖呢?当我们遇到更小的元素后,就可以把更小的元素放进d里面合适的位置使d继续满足递增,如0 2 4 7

  • 如果后面有 相对于4 递增的数据(假设原数组是:0 2 6 7 4 5 6):则d变成 0 2 4 5 6,len=5
  • 如果后面是 相对于7 递增的数据(假设原数组是:0 2 6 7 4 8):则d变成 0 2 4 7 8

(这里d从索引1开始存放元素)
总结:

  • 如果 d [ j ] < n u m [ i ] < d [ l e n ] d[j]<num[i] < d[len] d[j]<num[i]<d[len],就把 n u m [ i ] num[i] num[i]放入d数组中间
  • 如果 n u m [ i ] > d [ l e n ] num[i] > d[len] num[i]>d[len],就把 n u m [ i ] num[i] num[i]放入d数组末尾,同时len++

这里 “把 n u m [ i ] num[i] num[i]放入d数组中间”,可以用二分法

注意:最后得到的d数组不一定是最长递增序列,实际上d只能记录某个最长序列的最后一个元素d[len]

实现代码:

class Solution {public int lengthOfLIS(int[] nums) {if(nums.length == 0) return 0;int[] dp = new int[nums.length];//这里直接用 当前元素的位置 存放 最大长度就行dp[0] = 1;int ans = 1;for(int i = 1; i < nums.length; i++){dp[i] = 1;for(int j = 0; j < i; j++){if(nums[i]>nums[j]){dp[i] = Math.max(dp[i],dp[j]+1);}}ans = Math.max(ans,dp[i]);}return ans;}
}
class Solution {public int lengthOfLIS(int[] nums) {int len = 1, n = nums.length;if(n ==0) {return 0;}int[] d = new int[n+1];d[len] = nums[0];//的d[1] = nums[0]for(int i = 1; i < n; i++){if(nums[i]>d[len]){d[++len] = nums[i];}else{int left = 1, right = len, pos = 0;//pos表示d里面小于nums[i]的数的索引while(left <= right){int mid = (right -left) / 2 + left;if(d[mid] < nums[i]){pos = mid;left = mid + 1;}else{right = mid - 1;}}d[pos + 1] = nums[i];}}return len;}
}
http://www.dtcms.com/wzjs/521341.html

相关文章:

  • 上海网站建设报苏州做网站的专业公司
  • 合肥做公司网站武汉搜索引擎营销
  • 外贸淘宝网站建设网站优化网站优化
  • 网站建设是指什么搭建网站需要什么技术
  • 网页游戏折扣乐天seo培训
  • 网站推广人员怎么算业绩怎么让自己上百度
  • 免费的招标网站有哪些武汉新一轮疫情
  • 深圳哪里有做网站的活动推广宣传方案
  • 河北近期又出现疫情了北京知名seo公司精准互联
  • 政府机关网站建设方案网站排行查询
  • 网站推广营销应该怎么做湖北网站seo策划
  • 购物网站用香港空间chrome网页版入口
  • 长安做外贸网站推广引流图片
  • 杭州 城西 做网站seo网站推广报价
  • 专业微信网站开发公司百度排行榜前十名
  • dz做网站缺点seo系统是什么
  • 旅游外贸网站建设推广seo免费浏览网站
  • 做付费软件网站google怎么推广
  • 关于旅游网站建设的方案佛山疫情最新消息
  • 有没有做外贸免费网站产品推广策划方案
  • 滨州网站建设铭盛信息企业新闻稿发布平台
  • 卡盟平台官网seo费用价格
  • 网站制作先做数据库还是前台网站建设开发外包公司
  • 免费申请httq网站?线上推广的渠道有哪些
  • 国内网站排名软件外包企业排名
  • 北京房产信息网官网seo属于什么职业部门
  • 手机好看的网站重庆店铺整站优化
  • 怎样查看网站是用什么做的百度推广登陆入口官网
  • 旅游网站开发文献综述网页制作代码大全
  • 瑞安这边有没有做网站的网站百度收录