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

杭州网站建设公司电话长沙网站设计

杭州网站建设公司电话,长沙网站设计,深圳相框制作,centos7 wordpress安装目录 1.最长递增子序列 方法一:动态规划 方法二:贪心二分查找 1.最长递增子序列 链接:. - 力扣(LeetCode) 方法一:动态规划 思路:我们定义dp[i]为最长递增子序列,那么dp[j]就是…

目录

1.最长递增子序列

方法一:动态规划 

方法二:贪心+二分查找


1.最长递增子序列

链接:. - 力扣(LeetCode)

方法一:动态规划 

思路:我们定义dp[i]为最长递增子序列,那么dp[j]就是在小于i范围内的最长子序列,最长子序列最少为1,所以dp数组初始化为1.代码实行步骤如下:

这种情况下时间复杂度为O(n*2) ,空间复杂度为 O(n)

具体实现如下:

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

方法二:贪心+二分查找

思路:我们用数组来举个例子

第二种情况:(ret.get(mid) > nums[i])

这种情况下时间复杂度为nlogN(二分查找的时间复杂度为logN),空间复杂度为O(n)

代码: 

 public static int lengthOfLIS(int[] nums){int n = nums.length;ArrayList<Integer> ret = new ArrayList<>();ret.add(nums[0]);for (int i = 0; i < n; i++) {if(nums[i] > ret.get(ret.size() - 1)){ret.add(nums[i]);}else{int left = 0,right = ret.size() - 1;while(left < right){int mid = (left + right)/2;if(ret.get(mid) < nums[i]){left = mid + 1;}else{right = mid;}}ret.set(left,nums[i]);}}return ret.size();}

http://www.khdw.cn/news/37254.html

相关文章:

  • 海外人才招聘网站中国新闻网发稿
  • 网站免费申请注册目前小说网站排名
  • 阜宁县住房与城乡建设局网站市场营销模式有哪些
  • 一个企业可以做多个网站吗怎样创建一个自己的网站
  • 网站制作培训价格郑州网站托管
  • 汇鑫小学网站建设百度云网盘资源搜索引擎入口
  • 网站优化费用怎么做会计分录站长平台官网
  • 怎么用视频做网站登录的背景推广技巧
  • 深圳建设集团待遇短视频seo排名系统
  • 横岗做网站佛山百度推广电话
  • 重庆当地网站百度一下搜索
  • 珠海做网站的网络公司网站流量统计
  • 国外网站建设公司360指数
  • wordpress主体上传酒泉网站seo
  • 凡科网做的网站在百度上能找到吗郴州seo
  • 海口网站建设团队bt蚂蚁磁力搜索天堂
  • 乌鲁木齐网站建设公司裤子seo关键词
  • 网站建设连接到百度百度指数里的资讯指数是什么
  • 那个网站可以找人做设计免费建站平台哪个好
  • 网站维护需要网站的网络推广
  • 网站建设技术选择今日军事新闻头条最新
  • 自己做网站分销网页开发教程
  • 酒泉手机网站建设广告宣传费用一般多少
  • wordpress域名绑定seo专员招聘
  • 成都商城网站建设大连网站搜索排名
  • 健身网站模板自动发外链工具
  • 建设委员会的网站sem 优化软件
  • 备案二级域名分发太原seo排名
  • 郑州网络推广网站百度seo怎么提高排名
  • 网站做的支付宝接口吗b站在哪付费推广