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

建设网站对公司起什么作用是什么意思肃宁网站建设

建设网站对公司起什么作用是什么意思,肃宁网站建设,wordpress修改文章次序,网络规划与设计心得体会最长严格递增子序列 题目描述 给你一个整数数组nums,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7…

在这里插入图片描述

最长严格递增子序列

题目描述

给你一个整数数组nums,找到其中最长严格递增子序列的长度。
子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。
示例:
输入:nums = [2,1,6,3,5,4]
输出:3
解释:最长递增子序列是 [1,3,4],因此长度为 3。

思路

这道题要求最长上升子序列的长度,可以使用动态规划或贪心+二分查找两种方法来解决。

  1. 动态规划
    定义状态:dp[i]表示以第i个元素为结尾的最长上升子序列的长度。
    状态转移方程:对于第i个元素,枚举其前面的元素j,如果nums[i] > nums[j],则dp[i] = dp[j] + 1。同时,在每次更新dp[i]时,更新ans为其最大值。

  2. 贪心+二分查找
    定义一个数组d,d[i]记录长度为i的上升子序列的末尾元素的最小值。对于一个新的元素num[i],如果num[i]大于d[len],说明可以扩展当前的最长上升子序列,直接将其加入到d中;否则在d中查找第一个大于等于num[i]的元素位置pos,用num[i]替换它,使得可以扩展更长的上升子序列。

两种方法的时间复杂度分别为O(n^2)和O(nlogn),空间复杂度都是O(n)。

代码

// 方法一:动态规划:时间复杂度O(n^2) 空间复杂度O(n)
var lengthOfLIS = function(nums) {if(nums.length === 0) return 0const dp = new Array(nums.length).fill(1)let ans = 1;for(let i = 1 ; i < nums.length; i ++) {for(let j = 0 ; j < i ; j ++) {if(nums[i] > nums[j]) {dp[i] = Math.max(dp[i],dp[j] + 1);}}ans = Math.max(dp[i],ans);}console.log(dp);return ans;
}; // 方法二:贪心+二分查找:时间复杂度O(nlogn) 空间复杂度O(n)
var lenghtOfLIS = function(nums) {let n = nums.length;if(n === 0) return 0;let d = new Array(n + 1).fill(0);let len = 1;d[len] = nums[0];for(let i = 1; i < n ; i ++) {if(num[i] > d[len]) {d[++len] = nums[i];} else {let l = 1 , r = len , pos = 0;while(l <= r) {let mid = (l + r) >> 1;if(d[mid] < num[i]) {pos = mid;l = mid + 1;} else {r = mid - 1;}}d[pos + 1] = nums[i];}}return len;
}

路径总和 II

题目描述

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。

子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。

输入:nums = [10,9,2,5,3,7,101,18]
输出:4
解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。

思路

我们可以采用深度优先搜索的方式,枚举每一条从根节点到叶子节点的路径。当我们遍历到叶子节点,且此时路径和恰为目标和时,我们就找到了一条满足条件的路径。

代码

var pathSum = function(root, target) {let ans = [],path = [];let dfs = (root,target) => {if(!root) return;path.push(root.val);target -= root.val;if(root.left === null && root.right === null && target === 0) {ans.push([...path]);}dfs(root.left,target);dfs(root.right,target);path.pop(root.val);}dfs(root,target);return ans;
};
http://www.yayakq.cn/news/475889/

相关文章:

  • 什么网站可以做设计赚钱吗免费服务器建立网站
  • 海口seo整站个人网站模板制作
  • 营销型网站设计建设锦州建设银行网站
  • 安徽p2p网站建设seo建站技术
  • 五个网站页面商城类网站功能列表
  • 网站开发需要多长时间定做衣服的店附近哪里有
  • 教育网站改版方案盐城哪家专业做网站
  • 小精灵网站在线做语文php律师网站源码
  • 电影网站织梦模版网站开发打开世界之窗默认内核
  • 厦门做公司网站wordpress 修改dns打不开
  • 网站设计合理嵌入式培训宣传
  • 工会网站建设海报设计图
  • 东莞整站优化推广公司找火速宁夏建设工程造价信息网
  • 重庆餐饮网站建设wordpress按照浏览量排序
  • 学校网站建设项目可行性分析怎么免费做一个网站做淘宝客
  • 男女插孔做暖暖试看网站大全闲鱼钓鱼网站怎么做
  • 长沙别墅图纸网站建设网站描述wordpress
  • 酒店网站 asp.net北京网站建设正邦
  • 哪些园林网站可以做外链辽阳百姓网免费发布信息网
  • 教育网站建设 培训网站建设wordpress主题无法创建目录
  • 上海交通大学网站建设丹东网站seo
  • 响应式网站建设服务提供商网站正在建设中html5
  • 免费建设网站教程手机网站建设注册塔山双喜
  • 公司的做网站组织建设方面存在的问题
  • 扶余手机网站开发公司如何攻击php网站
  • 头条淘宝联盟网站推广怎么做精美ppt模板免费下载网站
  • wordpress性能智推教育seo课程
  • 学做网站的视频网站建设的工资
  • 淮安网站建设个人博客微信小程序如何生成二维码
  • 建设个人你网站wordpress指定文章标题