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

陕西省建设安全协会网站wordpress采集中文

陕西省建设安全协会网站,wordpress采集中文,山东进一步优化,国内著名设计公司动态规划,二分查找。 题目 由题,从数组中找一个最长子序列,不难想到,当这个子序列递增子序列的数越接近时是越容易拉长的。从dp上看,当遍历到这个数,会从前面的dp选一个最大的数加上当前数,注意…

动态规划,二分查找。

题目

由题,从数组中找一个最长子序列,不难想到,当这个子序列递增子序列的数越接近时是越容易拉长的。从dp上看,当遍历到这个数,会从前面的dp选一个最大的数加上当前数,注意这里的dp是每遍历到一个数都会加进去。而这里的dp数组同样是用来维护到某个数时的ans,nums数组是做了比较的,因此也有可能内循环时数组中的一些数是没有做更新的,因此最后一步肯定是加上当前的数后再进行一次与更新的dp比较进行选最大。

时间复杂度:O(n^2),空间复杂度:O(n)。

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

接着是更快的,用二分查找的方法,在用二分时用mid去找目标值。而这里每遍历到数组的一个数时,同样可以与tails的数去做比较,注意如果遍历到的数与dp的数做比较时mid在大的一边没有移动过,说明这个数就是大的可以追加到原数组的尾巴,即有位置可以插入。

时间复杂度:O(nlogn),空间复杂度:O(n)。

class Solution {public int lengthOfLIS(int[] nums) {int[] tails = new int[nums.length];int res = 0;for(int num : nums) {int i = 0, j = res-1;//标准二分,当左右指针重叠时再进行一次比较while(i <= j) {int m = (i + j) / 2;if(tails[m] < num) i = m + 1;else j = m - 1;}//这里的i就是目标值tails[i] = num;//更新这个位置的值if(res == i) res++;//说明可以进行扩充//注意每次找到时res肯定会比i多一,因为res从一开始的}return res;}
}

很典型的一道例题,可以用dp的状态维护,找到前面的状态,不过每到一个数都要dp两次。而二分查找目标值的方法,刚好让比目标值小的存到tails数组,比tails数组大的直接追加,以此来更新最长递增子序列。

http://www.dtcms.com/a/578669.html

相关文章:

  • 标签Labels、Scheduler:调度器、k8s污点与容忍度
  • 网站开发询价单重庆网站建设报价
  • [论文阅读] AI + 软件工程 | 3340个Python ML项目实证:PyQu工具+61种代码变更,精准提升软件质量!
  • 【数据结构+算法】进栈顺序推算、卡特兰数与逆波兰表达式
  • 网站源码 一品资源网电龙网站建设
  • 文山网站建设代理成都品牌形象设计
  • SEO超级外链工具 - SEO超级外链工具 - 网站自动外链群发与推广优化助手
  • 企业数据查询网站怎么自己做H5网站
  • 单位门户网站可以做百度百科指数型基金是什么意思
  • 详细阐述时间复杂度和空间复杂度定义、算法、和原理,,举例通过C/C++里面说明
  • 神鹰网站建设公司各行业的专业网址论坛资料
  • 慕枫网站建设做网站电话销售的话术
  • 免费网站制作多少钱西宁网站网站建设
  • 【AI应用探索】-8- OpenManus使用及源码解析
  • 网站建设与管理的条件常州建站程序
  • 【Hot100 | 2 LeetCode49 字母异位词分组问题】
  • 百度手机网址提交北京优化生育
  • 网站建设费分多少期摊销买电脑的怎么下wordpress
  • 网站商城网络整合营销购物类网站建设
  • 旅游公网站如何做购买域名网站好
  • 无线网络优化方案
  • 深圳宝安区网站建设公司网站域名空间多少钱
  • 比较两个excel文件的指定列是否一致
  • 建网站哪家好新闻wordpress 保持空格
  • 百度 网站 移动端邵阳网站开发公司推荐
  • 条款38:注意线程句柄析构函数的各种不同行为
  • 2027秋招备战day7
  • 嵌入式Linux C语言程序设计七
  • 学校让做网站做完怎么交全球最受欢迎的网站
  • 网站建设的报价单网络架构需求