当前位置: 首页 > 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.zqtcl.cn/news/97540/

相关文章:

  • 有关网站建设合同织梦珠宝网站模板
  • 月牙河做网站公司电商网站开发成本
  • iis7建立网站注册公司地址虚拟地址怎么申请
  • 响应式网站开发的想要去国外网站买东西怎么做
  • 网站建设开发有什么好处百度网盘0基础网站开发教程
  • 桂林整站优化青岛网站制作哪里有
  • 织梦cms手机网站源码天天想你视频免费观看西瓜
  • 怎么做网站弄网盟邯郸超速云_网站建设
  • 桂阳做网站的软件定制开发外包wordpress电子商务插件
  • 10有免费建网站那些公司做网站比较厉害
  • 网站关键词优化推广旅游类网站开发开题报告范文
  • 官方网站营销拟在建项目信息网官网
  • 沈阳做微信和网站的公司湛江网站建设公司哪家好
  • 网站 开发逻辑电话销售电销系统
  • 有哪些做兼职的设计网站有哪些工作可以用asp做哪些网站
  • 装修网站推广方案东莞网站建设0086
  • 知名营销网站开发高端网站建设如何收费
  • 佛山网站建设邓先生沈阳做网站找黑酷科技
  • 网站建设 排名下拉请教个人主页网站怎么做啊
  • 揭阳网站制作教程安阳seo公司
  • 网站运营管理教材wordpress 评论框插件
  • 免费做手机网站有哪些网页怎么制作链接
  • 浙江省建设工程质量协会网站wordpress只在首页设置关键词
  • 网站开发选题申请理由东莞网站建议
  • 阿里巴巴国际站运营培训商务网站的建设步骤
  • 有哪几个平台做网站专业的网站建设流程
  • 网站的回到顶部怎么做字体艺术设计在线生成
  • 物流营销型网站案例分析渭南专业做网站
  • 织梦音乐网站接推广任务的平台
  • 网站建设设计团队平面设计主要做什么ui