公共项查找---04_多个数组查找子字符串
来源:互联网 发布:汽车配件查询软件 编辑:程序博客网 时间:2024/06/02 01:28
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script> /* * 实现过程: * 1.将arr_str的每一项按照长度升序排列 * 2.找到最短的一项,然后将它的所以子项全部罗列出来,形成一个arrAll数组 * 3.用正则与arr_str剩下的三项进行匹配,形成一个二维数组,类似[[a,a,a], [b,b,b]] * 4.遍历这个二维数组,如果其中的子项(数组)的长度 = arr_str.length, * 那么找出子项中第一个最长的那个字符串 * * */ var arr_str = ['asdshow','helloshow','showhi','hahashowhehe']; //show function find(arr) { // 1.将arr_str的每一项按照长度升序排列 arr.sort(function (a, b) { return a.length - b.length; }); //console.log(arr); // 2.找到最短的一项,然后将它的所以子项全部罗列出来,形成一个arrAll数组 let strArr = []; let firstStr = arr.shift(); // showhi //console.log(firstStr); for ( let i = 0; i < firstStr.length; i++ ) { for ( let j = i + 1; j <= firstStr.length; j++ ) { strArr.push( firstStr.substring(i, j) ); } } //console.log(strArr); // s,sh,sho,show,showh,showhi,h,ho.... // 3.用正则与arr_str剩下的三项进行匹配,形成一个二维数组,类似[[a,a,a], [b,b,b]]\ var count = 0; // 最长的字符串的长度 var result = ''; // 最长的字符串 for ( var i = 0; i < strArr.length; i++ ) { var wholeArr = []; var re = new RegExp(strArr[i]); for ( var j = 0; j < arr.length; j++ ) { var reArr = arr[j].match(re); if (reArr) { wholeArr = wholeArr.concat(reArr); } } // 遍历新数组,如果其中的子项(数组)的长度 = arr_str.length, // 找出子项中第一个最长的那个字符串 if ( wholeArr.length === arr.length ) { //console.log(wholeArr); if ( wholeArr[0].length > count ) { count = wholeArr[0].length; result = wholeArr[0]; } } } return result; } console.log(find(arr_str));</script></body></html>
0 0
- 公共项查找---04_多个数组查找子字符串
- 公共项查找---03_两个数组查找子字符串
- 公共项查找---02_多个数组查找子项
- 公共项查找---01_两个数组查找子项
- [LeetCode-14] Longest Common Prefix(多个字符串公共字符子串查找)
- 查找字符串数组的最大公共前缀
- 查找--子字符串查找
- 子字符串查找,字符串数组排序
- 查找字符串公共后缀
- 查找字符串数组中最长的公共前缀字符串。
- 查找两字符串的最大公共子串
- 编程查找两个字符串的最大公共子串
- 编程查找两个字符串最大公共子串
- 查找两个字符串a,b中的最长公共子串
- 查找两个字符串a,b中的最长公共子串
- 最长公共子字符串查找(OC实现)
- 查找两个字符串a,b中的最长公共子串
- 查找两个字符串a,b中的最长公共子串
- poj1064(二分)
- 转载
- 在使用AndroidStudio打包apk时,遇到“xxx is not translated in xxx”错误的解决办法
- JBPM开发软件环境准备
- 使用Three.js的材质
- 公共项查找---04_多个数组查找子字符串
- APP与web测试的区别
- php多种序列化、反序列化的方法
- Spring与IoC
- MongoDB数据库设计中6条重要的经验法则3
- mysql使用uuid()函数生成主键方法(java环境)
- Git SSH Key 生成步骤
- 尾递归
- 二分法查找