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

大悟网站设计b2b有哪些电商平台

大悟网站设计,b2b有哪些电商平台,263企业邮箱登录入口263,自己做网站 最好的软件下载718. 最长重复子数组 原题链接:完成情况:题解:方法一:动态规划方法二:滑动窗口方法三:二分查找 哈希 原题链接: 718. 最长重复子数组 https://leetcode.cn/problems/maximum-length-of-repe…

718. 最长重复子数组

  • 原题链接:
  • 完成情况:
  • 题解:
    • 方法一:动态规划
    • 方法二:滑动窗口
    • 方法三:二分查找 + 哈希

原题链接:

718. 最长重复子数组

https://leetcode.cn/problems/maximum-length-of-repeated-subarray/description/

完成情况:

在这里插入图片描述

题解:

方法一:动态规划

在这里插入图片描述

package 西湖算法题解___中等题;public class __718最长重复子数组__动态规划 {//子数组的话,默认是连续的。public int findLength(int[] nums1, int[] nums2) {/*给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度 。当然了,肯定是要求顺序,而非连续。那么必然就需要用到动态数组,采取累积的形式*/int n = nums1.length,m = nums2.length;int dp_findLength [][] = new int[n+1][m+1];int res = 0;for (int i=n-1;i>=0;i--){for (int j=m-1;j>=0;j--){dp_findLength[i][j] = (nums1[i] == nums2[j] ? dp_findLength[i+1][j+1] + 1:0);res = Math.max(res,dp_findLength[i][j]);}}return res;}
}

方法二:滑动窗口

在这里插入图片描述
在这里插入图片描述

package 西湖算法题解___中等题;public class __718最长重复子数组__滑动窗口 {public int findLength(int[] nums1, int[] nums2) {int n = nums1.length,m = nums2.length;int res = 0;for (int i=0;i<n;i++){int len = Math.min(m,n-i);int maxLen = maxLength(nums1,nums2,i,0,len);res = Math.max(res,maxLen);}for (int i=0;i<m;i++){int len = Math.min(n,m-i);int maxLen = maxLength(nums1,nums2,0,i,len);res = Math.max(res,maxLen);}return res;}private int maxLength(int[] nums1, int[] nums2, int addA, int addB, int len) {int res = 0,k=0;for (int i=0;i<len;i++){if (nums1[addA+i] == nums2[addB+i]){k++;}else {k=0;}res = Math.max(res,k);}return res;}
}

方法三:二分查找 + 哈希

在这里插入图片描述

package 西湖算法题解___中等题;import java.util.HashSet;
import java.util.Set;public class __718最长重复子数组__二分查找_哈希表 {int mod = 1000000009;int base = 113;public int findLength(int[] nums1, int[] nums2) {int left = 1,right = Math.min(nums1.length,nums2.length)+1;while (left < right){int mid = (left + right) >> 1;if (myCheck(nums1,nums2,mid)){left = mid +1;}else {right = mid;}}return left - 1;}private boolean myCheck(int[] A, int[] B, int len) {long hashA = 0;for (int i=0;i<len;i++){hashA = (hashA * base + A[i]) % mod;}Set<Long> bucketA = new HashSet<Long>();bucketA.add(hashA);long mult = qPow(base,len - 1);for (int i = len;i < A.length;i++){hashA = ((hashA - A[i - len] * mult % mod + mod) % mod * base + A[i]) % mod;bucketA.add(hashA);}long hashB = 0;for (int i=0;i<len;i++){hashB = (hashB * base +B[i])%mod;}if (bucketA.contains(hashB)){return true;}for (int i=len;i<B.length;i++){hashB = ((hashB - B[i - len] * mult % mod + mod) % mod * base + B[i]) % mod;if (bucketA.contains(hashB)){return true;}}return false;}/*** 使用快速幂计算x^n % mod 的值* @param x* @param n* @return*/private long qPow(long x, long n) {long res = 1L;while (n != 0){if ((n&1) != 0){res = res * x % mod;}x = x*x % mod;n >>= 1;}return res;}
}
http://www.shuangfujiaoyu.com/news/24095.html

相关文章:

  • 网站正在建设中永久百度下载并安装到桌面
  • 北京网站建设备案代理seo排名点击软件
  • 上海知名的网站建设成都全网推广哪家专业
  • 网站日历代码seo排名赚下载
  • 网站域名使用代理口碑营销名词解释
  • 用wordpress搭建完整网站教程搜索引擎优化策略应该包括
  • 网站建设 杭州市萧山区免费网站排名优化软件
  • 网站seo的主要优化内容做个小程序需要花多少钱
  • 武汉企业高端网站建设搜索引擎关键词优化有哪些技巧
  • 应用商店app下载安装最新版软件seo优化排名价格
  • 源码网站git百度开户联系方式
  • 本地电脑如何做网站服务器优秀的营销案例
  • 网站建设市场多大项目推广平台有哪些
  • 哪个网站可以做初一政治试卷sem搜索引擎营销
  • 商城开发网站河南网络推广公司
  • 广州营销型网站建设公司哪家靠谱北京网站制作
  • 站酷网站的比赛网页谁做的如何免费注册一个网站
  • 自己公司做网站商丘网站建设公司
  • wordpress国内访问不了百度产品优化排名软件
  • 东莞阳光网appseo推广公司招商
  • 网站建设及相关流程seo上首页排名
  • 东莞网站建设aj工作室关键词首页排名代做
  • 网站后台维护技能seo搜论坛
  • win2003服务器网站管理工具疫情防控最新通告
  • 人武部正规化建设优化网站链接的方法
  • 网站建设的感想app排名优化
  • 手机网站范例今日重大事件
  • 政府网站建设的亮点和特色对网络营销的理解
  • wordpress博客简洁主题南昌seo排名收费
  • 河南郑州建网站公司怎样推广自己的广告