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

express做静态网站布展设计公司排名

express做静态网站,布展设计公司排名,网站服务器有哪些类型有哪些类型有哪些类型有哪些,网站系统维护一个月正常吗给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 输入&#xff1…

给你一个整数数组 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 。

       由上图我们可以很容易直到该数组中的最长递增子序列的长度为4,可是计算机可不知道这么算,所以我们要告诉它得这么算,我们仔细找找规律

       这种的分析是不是能让你看出一点点规律,如果当前值i比i-1前的最长自序列的最后一个值大时,将当前这个值加入这个递增子序列中,是不是我们就比较容易得到:

        for (int i = 1; i <nums.length; i++) {for (int j = 0; j <i; j++) {if(nums[j]<nums[i]){dp[i]=Math.max(dp[j]+1,dp[i]); }}}

       那么我们动态规划中最难的一步已经写出来了,状态转移方程,接下来就是动规的一般解题步骤,入参判断,维护一个dp数组,对其进行初始化,具体的看下面的源代码:

 public int lengthOfLIS(int[] nums) {if(nums==null||nums.length==0){return 0;}int[] dp=new int[nums.length];Arrays.fill(dp,1);for (int i = 1; i <nums.length; i++) {for (int j = 0; j <i; j++) {if(nums[j]<nums[i]){dp[i]=Math.max(dp[j]+1,dp[i]); }}}return Arrays.stream(dp).max().getAsInt();}

       在大家再给大家介绍一种解法,面试时两种解法任选一种即可,我认为还是动态规划这种比较容易好记

堆纸牌方法:

这种方法一般人还真想不到,可能那种久经牌场的人说不定可以想到:

       类似于蜘蛛纸牌一样的游戏规则,每次找到最左边的适合当前牌的牌堆,如果没有就直接新创一个牌堆

 没堆牌出一张组成子序列,牌堆的堆数越多,最长子序列的长度也就越大:

【5,6,7,J】、【5,7,8,J】...

所以我们应该怎么样去模拟这个算法呢?

由于我们要时刻的知道每堆牌的顶牌,所以我们可以维护一个数组去记录每个堆的牌顶

int[] top=new int[nums.length];
int count=0;//一开始,未进行发牌,牌堆数为0

 如果有这么sexy的荷官给你发牌,你做题怎么可能会错?比如邱淑贞姐姐给你发牌,哒哒哒...

       因为数组中的索引是从0开始的,但是牌堆数确实从1开始的,所以当我们查找可以放当前牌的最左牌堆的索引等于牌堆数的时候,就应该重新创建一个牌堆,如果不太了解二分搜索最左侧搜索,请看二分搜索篇

    public int lengthOfLIS(int[] nums) {if(nums==null||nums.length==0){return 0;}int[] top=new int[nums.length];int count=0;//进行发牌for(int num:nums){int left=0;int right=count;//这里给大家说明以下,这种二分查找区间的时候区间是左闭右开的//因为count代表的是堆数(从1开始),但是right指针代表的是数组的索引(从0开始),指针永远不可能到达堆数的数量while(left<right){int mid=left+(right-left)/2;if(top[mid]>=num){right=mid;//不断的去优先收缩右区间}else{left=mid+1;//收缩左区间}}//找到最小的大于等于num的索引大小if(left==count){count++;}//更新牌顶元素top[left]=num;}return count;}

http://www.yayakq.cn/news/569772/

相关文章:

  • 教学类网站怎么做网站建设分享
  • 新增网站备案时间WordPress如何迁移数据
  • 传奇手游盒子app平台排行榜哈尔滨百度网站快速优化
  • 360广告联盟怎么做网站wordpress 入门pdf
  • 网站数据库出问题给别人做违法网站
  • 淄博建设网站公司美食推广平台有哪些
  • 网站源码论坛如何建立个人网站
  • 东莞网站建设优化方案求个网站好人有好报2023
  • 网站制作的文章数学网站建设方法
  • 有什么可以做翻译的网站吗wordpress在文章中加背景
  • 视频点播网站开发教程如何在自己电脑上做网站服务器
  • 兰州学校网站建设传奇背景图网站怎么做
  • 好用的网站后台管理系统遵义直播遵义新闻官网
  • 做网店好还是网站西安网站建设专家
  • 网站开发流程三部分软件外包开发平台
  • 陕西建站成都线上推广平台
  • 网站怎么添加二级域名重庆建筑信息网查询
  • 协会网站建站宁波快速制作网站
  • 局网站建设申请烟台网站建设团队
  • ppt做视频的模板下载网站有哪些内容沧州网站制作多少钱
  • 网站接单做项目电脑编程用什么软件
  • alexa的网站排名主要分为哪两种多个网站 备案吗
  • 免费视频网站素材青岛市房产信息网官网
  • 深圳福田区网站建设职业生涯规划大赛演讲稿5分钟
  • 模具机械设备东莞网站建设皇岗网站建设
  • 杭州做网站的企业网站前端建设
  • 个人做门户网站中国建设银行网站首页u盾登入
  • 网站动画效果怎么做的如何安装wordpress ftp
  • 做网站襄樊贵阳银行手机银行下载官方网站
  • 罗湖附近公司做网站建设哪家效益快wordpress 主题破解