javascript - 如何从大字符串中获取最小字符串(从小字符串连接)

标签 javascript

如何从一个字符串中找到最小的字符串。换句话说,找到最小的字符串,使其可以连接多次以获得大字符串。

输入rbr 输出rb(我的函数工作正常)

另一个例子

输入 bcdbcdbcdbcd 输出:bcd(我的函数工作正常)

我试过这样的。

function getSmallestString(s){
  
  let i= 0;
  let tem = '';
 
  
  while(true){
     let mid = s.length/2;
    let tem = s.substring(0,mid);
    if(tem + tem == s){
      s= tem
    }else {
      return s;
    }
    
  }
  
}

console.log('bcdbcdbcdbcd')

https://jsbin.com/liracurala/1/edit?html,js,output

这里我的案例失败了

function getSmallestString(s){
  
  let i= 0;
  let tem = '';
 
  
  while(true){
     let mid = Math.floor(s.length/2);
    let tem = s.substring(0,mid);
    if(tem + tem == s){
      s= tem
    }else {
      return s;
    }
    
  }
  
}

console.log(getSmallestString('ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo'))

预期输出是o

在这种情况下,每个答案都失败了 lrbb 预期输出 lrbb

最佳答案

function getSmallestString(str) {
    var current = "";
    for(var i = 0, len = str.length; i < len; ++i) {
        current += str[i];
        if(str.replace(new RegExp(current,"g"),"") == "") return current
    }
}

关于javascript - 如何从大字符串中获取最小字符串(从小字符串连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63454486/

相关文章:

javascript - react D3 : series attribute is not found in reactD3Basic object

javascript - 复制下拉值

javascript - 如何创建从 google places API 获取信息的服务

javascript - 如何制作一个干净的模板并将多个项目传递给它?

javascript - Chrome 失败的图像背景卡住问题

javascript - 如何将 <ul> 与 html 一起复制到 jquery 中的另一个 <ul> 中?

javascript - Jquery 日期选择器显示在顶部

javascript - ajax.done 函数不起作用

javascript - 从文件中获取 JSON 数据

javascript - 从子窗口获取URL参数并加载父窗口