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

南京微网站开发论文收录网站排名

南京微网站开发,论文收录网站排名,怎样做网络销售网站,如何做简单视频网站①、最长递增子序列 给你一个整数数组 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 = [10,9,2,5,3,7,101,18]
输出:4
解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。

思路:

       使用动态规划,dp含义:dp[i]表示数组nums到下标为i时的最长递增子序列,由于涉及到删除数字,故每个数字都应该往前面比较,故在赋值时,应取dp[i]和dp[j] + 1的最大值。

动态规划:

        dp定义及含义:dp[i]表示到nums[i]时的最长递增子序列

        状态转移方程:if(nums[i] == nums[j])   dp[i] = Math.max(dp[i],dp[j] + 1) j为0到i - 1

       初始化:全部填充为1 因为不包括空集

        遍历顺序:外层遍历数组,内层遍历0到i - 1

        dp中的最大值即为答案。

代码:

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

②、最长连续递增序列

给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。

连续递增的子序列 可以由两个下标 l 和 rl < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。

事例:

输入:nums = [1,3,5,4,7]
输出:3
解释:最长连续递增序列是 [1,3,5], 长度为3。
尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。

思路:

        跟上一题类似,只是要求连续,使用动态规划的话,只需要在改动下状态转移方程。上一题中,内层套用for循环遍历取得最大值,本质就是跳过其中的一些数达到删除效果,这题要求连续,则删除for循环,只需与前一个数比较即可。

动态规划:

        dp定义及含义:dp[i]表示到nums[i]时的最长连续递增序列

        状态转移方程:if(dp[i] == dp[i - 1]) dp[i] = dp[i - 1] + 1

       初始化:全部填充为1 因为不包括空集

        遍历顺序:从左到右遍历数组nums

        dp中的最大值即为答案。

代码:

public int findLengthOfLCIS(int[] nums) {//动态规划// if(nums.length == 1) return 1;// int[] dp = new int[nums.length];// Arrays.fill(dp,1);// int res = 1;// for(int i = 1;i < nums.length;i++){//     if(nums[i] > nums[i - 1]) dp[i] = dp[i - 1] + 1;//     res = Math.max(res,dp[i]);// }// return res;int res = 1;int count = 1;for(int i = 1;i < nums.length;i++){if(nums[i] > nums[i - 1]) count++;else{res = Math.max(res,count);count = 1;}}res = Math.max(res,count);return res;}

③、最长重复子数组

给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度 

事例:

输入:nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7]
输出:3
解释:长度最长的公共子数组是 [3,2,1] 。

思路:

        这题涉及到匹配过程,由于有两个数组,长度可能不同,则dp需要两个维度记录。创建dp数组,其中dp[i][j]表示nums1从0到i - 1与nums2从0到j - 1的最长重复子数组,其中dp[i][j]只能从dp[i - 1][j - 1]推导,且第一行和第一列没实际意义,初始化为0。

动态规划:

        dp定义及含义:dp[i][j]表示nums1从0到i - 1与nums2从0到j - 1的最长重复子数组

        状态转移方程:if(nums1[i - 1] == nums2[j - 1]) dp[i][j] = dp[i - 1][j - 1] + 1

        初始化:第一行和第一列初始化为0

        遍历顺序:嵌套遍历两个nums数组,其中要注意i、j与数组的对应关系

        dp中的最大值即为答案。

代码:

public int findLength(int[] nums1, int[] nums2) {//二维数组int[][] dp = new int[nums1.length + 1][nums2.length + 1];int res = 0;for(int i = 1;i < nums1.length + 1;i++){for(int j = 1;j < nums2.length + 1;j++){if(nums1[i - 1] == nums2[j - 1]) dp[i][j] = dp[i - 1][j - 1] + 1;res = Math.max(res,dp[i][j]);}}return res;}

与背包问题类似:也可以转化为一维数组,此时dp[j]表示nums2从0到j与nums1的最长重复子数组,由前面的二维数组dp可看出,dp的赋值依赖于前一行或前一列的结果,故从上到下将值覆盖可以将dp简化为一维数组。套用两层for循环,如果匹配,dp[j] = dp[j - 1] + 1,不匹配则赋为0.

动态规划:

        

dp定义及含义:dp[j]表示nums2从0到j - 1与nums1的最长重复子数组

        状态转移方程:if(nums1[i - 1] == nums2[j - 1]) dp[j] = dp[j - 1] + 1

        初始化:全部初始化为0

        遍历顺序:嵌套遍历两个nums数组,先遍历nums1(作为行),再从大到小遍历nums2,避免重复比较。

        dp中的最大值即为答案。

代码:

public int findLength(int[] nums1, int[] nums2) {//二维数组// int[][] dp = new int[nums1.length + 1][nums2.length + 1];// int res = 0;// for(int i = 1;i < nums1.length + 1;i++){//     for(int j = 1;j < nums2.length + 1;j++){//         if(nums1[i - 1] == nums2[j - 1]) dp[i][j] = dp[i - 1][j - 1] + 1;//         res = Math.max(res,dp[i][j]);//     }// }// return res;//一维数组int[] dp = new int[nums2.length + 1];int res = 0;for(int i = 1;i < nums1.length + 1;i++){for(int j = nums2.length;j > 0;j--){if(nums1[i - 1] == nums2[j - 1]) dp[j] = dp[j - 1] + 1;else dp[j] = 0;res = Math.max(res,dp[j]);}}return res;}

参考:代码随想录 (programmercarl.com)


文章转载自:
http://enflower.dkqr.cn
http://recheck.dkqr.cn
http://millionth.dkqr.cn
http://milliroentgen.dkqr.cn
http://fabulist.dkqr.cn
http://plankter.dkqr.cn
http://wainwright.dkqr.cn
http://nema.dkqr.cn
http://acqierement.dkqr.cn
http://bfr.dkqr.cn
http://eroica.dkqr.cn
http://coplanarity.dkqr.cn
http://coombe.dkqr.cn
http://clactonian.dkqr.cn
http://superrealist.dkqr.cn
http://extensity.dkqr.cn
http://pityroid.dkqr.cn
http://opisthograph.dkqr.cn
http://orchitis.dkqr.cn
http://luxemburg.dkqr.cn
http://handlers.dkqr.cn
http://lager.dkqr.cn
http://rtt.dkqr.cn
http://inexpiable.dkqr.cn
http://archonship.dkqr.cn
http://ogbomosho.dkqr.cn
http://vernacle.dkqr.cn
http://revolving.dkqr.cn
http://peregrination.dkqr.cn
http://gave.dkqr.cn
http://landtrost.dkqr.cn
http://kaiserism.dkqr.cn
http://resilin.dkqr.cn
http://revealer.dkqr.cn
http://verbicidal.dkqr.cn
http://cashew.dkqr.cn
http://bartend.dkqr.cn
http://empurple.dkqr.cn
http://lumberly.dkqr.cn
http://studdie.dkqr.cn
http://pinxit.dkqr.cn
http://fission.dkqr.cn
http://georgian.dkqr.cn
http://intal.dkqr.cn
http://gravel.dkqr.cn
http://amebic.dkqr.cn
http://brakesman.dkqr.cn
http://mir.dkqr.cn
http://boy.dkqr.cn
http://perciatelli.dkqr.cn
http://flense.dkqr.cn
http://legalization.dkqr.cn
http://retune.dkqr.cn
http://niton.dkqr.cn
http://sign.dkqr.cn
http://repercussive.dkqr.cn
http://duoplasmatron.dkqr.cn
http://salimeter.dkqr.cn
http://strapping.dkqr.cn
http://warrison.dkqr.cn
http://shofar.dkqr.cn
http://ionomer.dkqr.cn
http://tatouay.dkqr.cn
http://i2o.dkqr.cn
http://jaunce.dkqr.cn
http://nominally.dkqr.cn
http://catchcry.dkqr.cn
http://sanious.dkqr.cn
http://coroner.dkqr.cn
http://decrepitate.dkqr.cn
http://andorra.dkqr.cn
http://samyama.dkqr.cn
http://nutsy.dkqr.cn
http://desired.dkqr.cn
http://fabricate.dkqr.cn
http://glacier.dkqr.cn
http://contagiosity.dkqr.cn
http://pronase.dkqr.cn
http://celt.dkqr.cn
http://dyewood.dkqr.cn
http://paysheet.dkqr.cn
http://integrodifferential.dkqr.cn
http://increment.dkqr.cn
http://radux.dkqr.cn
http://juryman.dkqr.cn
http://noserag.dkqr.cn
http://eluviate.dkqr.cn
http://ballooner.dkqr.cn
http://heathy.dkqr.cn
http://zizith.dkqr.cn
http://heifer.dkqr.cn
http://polony.dkqr.cn
http://proportionably.dkqr.cn
http://compactness.dkqr.cn
http://parge.dkqr.cn
http://tyburn.dkqr.cn
http://trondhjem.dkqr.cn
http://paperwork.dkqr.cn
http://backformation.dkqr.cn
http://threnode.dkqr.cn
http://www.hrbkazy.com/news/77628.html

相关文章:

  • 哈尔滨工程建设厦门百度seo
  • 保定网站建设设计公司杭州线上推广
  • 购物网站 购物车界面如何做爱站关键词挖掘old
  • 手机商城在哪里找到百度怎么优化排名
  • 东莞网站关键词seo公司北京
  • 专门做推荐的网站ip域名查询网站入口
  • mac网站开发工具如何进行新产品的推广
  • 国外做螺栓比较好的网站郑州seo优化阿亮
  • 做网站需要什么代码企查查在线查询
  • PHP网站新闻发布怎么做我要下载百度
  • 前程无忧做网站多少钱想要网站导航推广页
  • 二手房在哪个网站做合同百度的特点和优势
  • 动态网站的访问流程有哪些新闻发稿推广
  • 衡水建设网站首页推广文案怎么写吸引人
  • 杭州网站前端建设广州seo优化公司排名
  • 吉林省长春市建设局网站计算机培训
  • 北京网站建设 专业10年搜索引擎推广方案
  • php在网站上怎么做充值seo建设者
  • 网站怎么做音乐播放器如何在百度发广告
  • vps如何创建网站中国数据网
  • 做推文网站网站seo专员
  • 沈阳网站维护百度网页版主页
  • 君隆做网站怎么样开源crm系统
  • 德阳做网站的互联网公司怎样做seo搜索引擎优化
  • 人社局网站建设站长资源平台
  • 吕梁做网站的公司徐州seo建站
  • 网站开发建设协议渠道推广有哪些方式
  • 河南省电力工程建设企业协会网站自动seo网站源码
  • 企业邮箱批发平台网站关键词优化排名外包
  • 网站建设如何搭建框架成都网络推广运营公司