code kata:共通接頭辞の検索

8971 ワード


const getPrefix = strs => {
  let n="";

  if(strs.legth===0) 
  {return n;} 
  
  for(let i=0; i<strs[0].length;i++){
  if(strs[0][i]=== strs[1][i]){
    n+=strs[0][i]
       }
  console.log(n)
     }
  
  for(let k=2; k<strs.length; k++){    
    p="";
    for(let j=0; j<n.length; j++){   
      if(n[j]=== strs[k][j]){
        p+=n[j]
      }
    }
    console.log(p);
    n=p;
  } 
  return n;
}

getPrefix(['start', 'stair', 'step',"st","s"])
nの値は空の文字列("")であり、最初の単語と2番目の単語の共通単語として再割り当てされる.
3番目の値から,nと比較して汎用語を選択した.pという新しい変数では、nと新しい単語の共通値
読み込み、nに再割り当て後、pは空の文字列に再リセットされます.2つ目はもっと良い解を出した.アルゴリズムは単独で勉強していないので、計算思考に近いのも無理はない.
function getPrefix(strs) {
    if (strs.length === 0) return ''; 
    
    let prefix = strs[0];
    
    for (let i = 1; i < strs.length; i++) {
        while (strs[i].indexOf(prefix) === -1) {
            prefix = prefix.substring(0, prefix.length - 1);
            console.log(prefix)
        }
    }
    
    return prefix;
}

getPrefix(["start","stars", "s"])
一方、モデルの衣装はこんなに簡単...あまり使ったことないけど、結構強い奴らしい…