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

青岛做网站的wordpress qq空间

青岛做网站的,wordpress qq空间,企业网站建设基本步骤,wordpress分页调用①、最长递增子序列 给你一个整数数组 nums #xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列#xff0c;删除#xff08;或不删除#xff09;数组中的元素而不改变其余元素的顺序。例如#xff0c;[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://www.hkea.cn/news/14300983/

相关文章:

  • 网站代发外链wordpress 导航 class
  • 装修平台网站有哪些Wordpress禁止爬虫ip
  • 淘宝做网站价格深圳做h5网站
  • 大连网站建设新图闻国家对小微企业扶持2022政策
  • 江门门户网站域名网站网址
  • 企业为何做网站哈尔滨网站建设优化
  • 建设网站视频百度云盘中国免费的企业名录
  • 浙江网站建设正规公司竞猜网站开发多少钱
  • 下沙网站制作河北建设厅录入业绩的网站
  • 广告公司网站制作企业网站开发计划
  • 检查网站死链接阿里云网站怎么备案域名
  • 微信公众平台推广网站如何做网站的线下推广
  • 功能网站建设多少钱设计一个logo需要多少钱
  • 张家口远大建设集团网站烟台网站建设烟台
  • p2p网站建设框架wordpress两个域名访问不了
  • 网站策划应该怎么做wordpress 3d插件
  • 云南云南省城乡建设厅网站简单的网站建设公司的模板下载
  • 建设直播网站需要多少钱58同城网招聘找工作建筑工程
  • 做网站导流网站建设的目的及功能
  • 杭州网站免费制作手机宣传网站
  • 山东企业站点seo做什么类型网站可以吸引用户
  • 为客户创建网站必须网络广告的缺点
  • 中山建设银行招聘网站滨海新区做网站
  • 企业网站托管外包方案百度网站联盟
  • 企业被网站骗做会员泉州网站制作
  • 厦门专业网站设计代理怎样审请网站
  • 分辨率大于1920的网站怎么做汕头集团做网站方案
  • 深圳住房和建设局网站置换平台网站建设前期需要做出的准备
  • 沈阳康平志诚建设集团网站做满屏网站的尺寸
  • 中关村网站建设的公司免费微信建站有哪些网站