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

二维码制作网站做美食哪些类型网站

二维码制作网站,做美食哪些类型网站,怎样开一个小贸易公司,网页设计课程培训机构题目 我们有一个数字序列包含 n 个不同的数字#xff0c;如何求出这个序列中的最长递增子序列长度#xff1f;比如 2, 9, 3, 6, 5, 1, 7 这样一组数字序列#xff0c;它的最长递增子序列就是 2, 3, 5, 7#xff0c;所以最长递增子序列的长度是 4。 回溯法 数组长度为n如何求出这个序列中的最长递增子序列长度比如 2, 9, 3, 6, 5, 1, 7 这样一组数字序列它的最长递增子序列就是 2, 3, 5, 7所以最长递增子序列的长度是 4。 回溯法 数组长度为n每一步考虑当前元素要不要加入到最长递增子序列中。如果加上去最后的长度是多少如果不加该元素最后的长度又是多少。这是一个多阶段决策最优化问题。可以用回溯法解决。 public class IncreaseArray {private int[] nums new int[]{2,9,3,6,5,1,7};private int n nums.length;private int maxLen 0;/**** param i* 当前处理的元素下标* param lastIdx* 最后一个进入到最长递增子序列的元素下标用于比较*/private void f(int i,int lastIdx,int len){if(in){maxLen Math.max(maxLen,len);return;}if(lastIdx -1 || nums[i]nums[lastIdx]){//加入到最长递增子数组中f(i1,i,len1);}//不加入到最长递增子数组中f(i1,lastIdx,len);}private int maxIncreaseArrayLength(){f(0,-1,0);return maxLen;}}备忘录模式 画递归树查看是否有重复子问题。每个节点状态用(i,j,len)表示。i表示到达地i个元素 j表示加入到最长递增子序列的最后一个元素的下标len表示当前状态下最长递增子序列的长度。 从树中能看出(3,2,1) (3,2,2) 只需要留下 (3,2,2)这个节点就行。因为这个节点的长度最长而且长度是1还是2与后面递增子序列的添加没有影响。我们的目标又是求最长的递增子序列的长度所以留 (3,2,2)这个节点就行。 所以我们可以用备忘录模式来解决。 private int fV2(int i,int lastIdx,int[][] memo){if(in){return 0;}if(memo[lastIdx1][i]0) return memo[lastIdx1][i];int value 1;if(lastIdx -1 || nums[i]nums[lastIdx]){//加入到最长递增子数组中value 1fV2(i1,i,memo);}//不加入到最长递增子数组中int value1 fV2(i1,lastIdx,memo);memo[lastIdx1][i] Math.max(value,value1);return memo[lastIdx1][i];}private int maxIncreaseArrayLengthV2(){int[][] memo new int[n][n];for(int[] array : memo){Arrays.fill(array,-1);}return fV2(0,-1,memo);}动态规划 从上面的分析中我们知道当处理第i个元素的时候要求得第i个元素最长递增子序列的长度是多少与前面步骤中递增子序列以哪个元素结尾有关系。那么前面步骤中递增子序列可能的结尾是第0个元素第1个元素第2个元素…第i-1个元素。如果我们能分别知道以这些元素结尾的最长递增子序列的长度就可以推导出以第i个元素为结尾的最长递增子序列的长度。 我们用max_lcs[i]来记录以第i个元素为结尾的最长递增子序列的长度。 那么设j0,1,2…i-1当nums[i]nums[j]的时候max_lcs[j]1就是一个可能的值。从这些值中取最大值就是max_lcs[i]的值。 max_lcs[i]max(max_lcs[j]1),0ji nums[i]nums[j]。最后再从max_lcs数组中查找最大值就是答案。 private int maxIncreaseArrayLengthDp(){if(numsnull || nums.length 0) return 0;int[] dp new int[n];//表示以第i个元素作为结尾的最长递增子序列的最大长度int maxLen 1;for(int i0;in;i){int value 1;for(int ji-1;j0;j--){if(nums[i]nums[j]){value Math.max(value,dp[j]1);}}dp[i] value;maxLen Math.max(maxLen,dp[i]);}return maxLen;}写在后面这道题目在回溯法中知道当处理第i个元素的时候与前面步骤中递增子序列以哪个元素结尾有关系。得出这个关系很重要。而且能够将状态转移表简化为max_lcs这个一位数组也是关键。
http://www.zqtcl.cn/news/207774/

相关文章:

  • o2o网站策划京北网app下载
  • 公众号链接电影网站怎么做禁止wordpress保存修订版
  • 免费网站建设排行网站开发需要注册账户吗
  • 深圳营销网站建设免费网站添加站长统计
  • 建设银行网站怎么能转账代理ip注册网站都通不过
  • 一台服务器做两个网站吗明空网络做网站好不好
  • 正定县建设局网站东莞微信网站建设咨询
  • 网站开发免费视频教程网站备案帐号是什么情况
  • 知名门户网站小程序页面设计报价
  • 蒲城矿建设备制造厂网站喀什哪有做网站的
  • 网站内页产品做跳转三合一商城网站
  • 做网站找不到客户兰州 网站制作
  • 广州中小学智慧阅读门户网站中山网站建设方案推广
  • 长沙网站建设专家排行榜
  • 清河企业做网站wordpress淘宝客插件开发
  • 网站上传连接失败的原因微信app网站建设
  • 服装网站源码php建设厅网站合同备案在哪里
  • o2o网站建设多少钱公司设计网站定制
  • asp.net 企业网站后台管理系统源码中国vs菲律宾
  • 成都家装排名前十名wordpress优化方法
  • 南阳做网站公司网站开发服务费分录
  • 网络课程网站建设龙岩个人小程序开发
  • 上海网络推广报价seo技术培训机构
  • 在线看免费网站哪个设计培训机构好
  • 网站建设制作确认单网站建设策划书格式及范文
  • framework7做网站如何在社交网站做销售
  • dedecms_v5.6室内装饰设计公司企业网站模板.rarwordpress添加3d地图吗
  • 开发网站的意义百度推广计划
  • 网站设计师网站网站建设从入门到精通pdf
  • 游戏网站建设方案百度文库wordpress调用搜索框