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

企业网站建设代码网站建设的概念

企业网站建设代码,网站建设的概念,wordpress收费下载,建什么类型网站好【问题描述】[中等] 给两个整数数组 A 和 B #xff0c;返回两个数组中公共的、长度最长的子数组的长度。示例 1:输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出: 3 解释: 长度最长的公共子数组是 [3, 2, 1]。 说明:1 len(A), len(B) 1000 0 A[i], B[i] 100…【问题描述】[中等] 给两个整数数组 A 和 B 返回两个数组中公共的、长度最长的子数组的长度。示例 1:输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出: 3 解释: 长度最长的公共子数组是 [3, 2, 1]。 说明:1 len(A), len(B) 1000 0 A[i], B[i] 100【解答思路】 1. 暴力法 时间复杂度O(N^3) 空间复杂度O(1) public int findLength1(int[] numa, int[] numb) {if(numa null || numb null){return 0;}int max 0;int aLen numa.length, bLen numb.length;int aIndex, bIndex, sameLen;for(int i0; iaLen; i){for(int j0; jbLen; j){aIndex i;bIndex j;sameLen 0;while(aIndexaLen bIndexbLen numa[aIndex]numb[bIndex] ){sameLen;aIndex;bIndex;}if(max sameLen){max sameLen;}}}return max;} 2. 动态规划 第 1 步设计状态 int[][] dp 表示 A[i:] 和 B[j:] 的最长公共前缀 第 2 步状态转移方程 如果 A[i] B[j]那么 dp[i][j] dp[i 1][j 1] 1否则 dp[i][j] 0。 第 3 步考虑初始化 int[][] dp new int[n 1][m 1]; 第 4 步考虑输出 max 第 5 步考虑是否可以状态压缩 暂时不考虑 时间复杂度O(N×M) 空间复杂度O(N×M) class Solution {public int findLength(int[] A, int[] B) {int n A.length, m B.length;int[][] dp new int[n 1][m 1];int ans 0;for (int i n - 1; i 0; i--) {for (int j m - 1; j 0; j--) {dp[i][j] A[i] B[j] ? dp[i 1][j 1] 1 : 0;ans Math.max(ans, dp[i][j]);}}return ans;} } public int findLength(int[] A, int[] B) {int lenA A.length;int lenB B.length;int[][] dp new int[lenA][lenB];int max Integer.MIN_VALUE;for (int i 0; i lenA; i) {for (int j 0; j lenB; j) {if (A[i] B[j]){if (i 0 j 0){dp[i][j] dp[i - 1][j - 1] 1;}else{dp[i][j] 1;}}max Math.max(max,dp[i][j]);}}return max;}3. 滑动窗口 时间复杂度O((NM)×min(N,M)) 空间复杂度O(1) class Solution {public int findLength(int[] A, int[] B) {int n A.length, m B.length;int ret 0;for (int i 0; i n; i) {int len Math.min(m, n - i);int maxlen maxLength(A, B, i, 0, len);ret Math.max(ret, maxlen);}for (int i 0; i m; i) {int len Math.min(n, m - i);int maxlen maxLength(A, B, 0, i, len);ret Math.max(ret, maxlen);}return ret;}public int maxLength(int[] A, int[] B, int addA, int addB, int len) {int ret 0, k 0;for (int i 0; i len; i) {if (A[addA i] B[addB i]) {k;} else {k 0;}ret Math.max(ret, k);}return ret;} } 【总结】 1. 暴力法 注意边界问题 2.动态规划 做到前四就不错啦 第 1 步设计状态 第 2 步状态转移方程 第 3 步考虑初始化 第 4 步考虑输出 第 5 步考虑是否可以状态压缩 3.滑动窗口 还可以是两个块之间对比使用 之前都是用双指针滑的 转载链接https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray/solution/zui-chang-zhong-fu-zi-shu-zu-by-leetcode-solution/
http://www.pierceye.com/news/554078/

相关文章:

  • 推进门户网站建设方案wordpress插件自动更新
  • 学院网站建设成效做网站需要什么功能
  • o2o手机网站建设技术网站设计师专业
  • 传媒网站建设方案wordpress开源博客系统最新版
  • 三合一网站一般多少钱浙江省和住房建设厅网站
  • 网站开发背景知识论文网页设计表格
  • 广州优秀网站建设怎么寻找国外客户资源
  • 松江新城投资建设集团有限公司网站华能电子商务平台
  • 网站建设设计制作公司微网站微商城
  • 长宁企业网站建设个人做外贸怎么做
  • 饲料 东莞网站建设免费推广app
  • 手机平台网站开发品牌网站设计首选
  • 哪些网站可以做调查赚钱图片生成软件
  • 网站空间的管理wordpress vip system
  • 新思维网站北京住房建设部网站首页
  • 温州网站制作套餐麒麟网站建设
  • 淘宝接单做网站wordpress能做企业网站吗
  • 网站建设运营公众号运营合同app网站开发书籍下载
  • 网站seo流程网站开发开账务处理
  • 婚介网站方案长沙网络公司电话
  • 自助网站搭建系统做网站接电话一般要会什么
  • 雷州网站建设公司网站建设与管理说课ppt
  • 问答类网站怎么做wordpress 调取页面缩略图
  • 做电影资源网站手机版wordpress实例配置
  • 广西网站建设方案品牌官网方案
  • 游戏工作室网络组建方案seo81
  • 搭建个人网站的步骤温州专业微网站制作价格
  • 网站怎么做充值系统php图书管理系统网站开发
  • 多商家网站建设自助建站系统源码 资源网
  • 广州番禺网站制作公司哪家好文章网站建设