ホームページ > 記事 > ウェブフロントエンド > JavaScript_javascript スキルに実装されたデジタル ステップ数を計算するアルゴリズムを共有する
この2日間、ある師匠のgithubを見ていたら、アルゴリズムに興味があるということで、歩数計算のアルゴリズムが面白いと思ったので実装してみました。私自身も1つ。
アルゴリズムの説明と実装原理
整数が与えられた場合、ゴールに到達できる手数を数えます。たとえば、数字 4 には次のような手があります
。
実際、上記の組み合わせから次の結論が導き出されます。
1. まず、項目が 1 であるすべての組み合わせをリストします
2. 左から右へ、アイテムが 1
である組み合わせ
3. 上記のセットを再帰し、項目内の 1 のインデックスを見つけて、左から 2 つの項目の値を計算します。結果は再帰演算
です。
4. 状況 1 と 2 を除外します
次の 3 つのツール機能が提供されます。
//配列の値を出力します
関数 print(arg){
for(var i = 0; i
console.log(arg[i]);
}
}
// 前進か後退かを確認します
関数 hasRepeat(src, dist){
(dist.length != 2) の場合は false を返します;
for(var i = 0, len = src.length; i
If(dist.length == src[i].length){
If(dist[0] == src[i][1]){
return true;
}
}
}
false を返します;
}
アルゴリズムの実装は以下に掲載されています:
//実行
countSteps(4);
// 以下の内容を出力します
/*
[ 1, 3 ]
[ 4 ]
[ 1、1、2 ]
[ 2, 2 ]
[ 1、1、1、1 ]
ウォーキングの種類は全部で5種類
*/
概要
このアルゴリズムは、実際には、2 つのオブジェクト間の距離が一定である場合には、他の場所にも適用できますが、ほとんどのフロントエンド エンジニアは適用できません。アルゴリズムについてはあまり実践されていませんが、実際には多くの UI で使用されています。今後、時間があるときにアルゴリズムに関する記事を投稿します。