-
JavaScriptで整数分割のすべての可能な方法を見つける
正の整数nの分割は、正の整数の合計としてnを書き込む方法です。被加数の順序のみが異なる2つの合計は、同じパーティションと見なされます。 たとえば、4は5つの異なる方法で分割できます- 4 3 + 1 2 + 2 2 + 1 + 1 1 + 1 + 1 + 1 引数として正の整数をとるJavaScript関数を作成する必要があります。関数は、その整数を分割するためのすべての可能な方法を見つけて返す必要があります。 例 以下はコードです- const findPartitions = (num = 1) => { const arr = Array(num +
-
メールをマスキングしてJavaScriptで非表示にする
Webサイトに個人の電子メールアドレスが表示される場合、プライバシーを維持するためにそれをマスクすることがよくあります。 したがって、たとえば- 誰かのメールアドレスが-の場合 const email = '[email protected]'; するとこのように表示されます- const masked = '[email protected]'; メール文字列を受け取り、その文字列のマスクされたメールを返すJavaScript関数を作成する必要があります。 例 以下はコードです- const email = 'ramkumar@exam
-
JavaScriptを使用した組み合わせ合計の問題
候補番号のセット(重複なし)とターゲット番号(ターゲット)が与えられたとします。 候補数の合計がターゲットになる候補内のすべての一意の組み合わせを検索する関数を作成する必要があります。 同じ繰り返し数を候補者から無制限に選択できます。 注 − すべての数値(ターゲットを含む)は正の整数になります。 ソリューションセットに重複する組み合わせを含めることはできません。 例 − 入力が-の場合 candidates = [2,3,6,7], target = 7, これに対する解決策は次のようになります- [ [7], &nbs
-
JavaScriptで2つの数値の最小公倍数を計算する関数
2つの整数aとbの最小公倍数(LCM)は、aとbの両方で割り切れる最小の正の整数です。 例- 4と6のLCMは12です。これは、12が4と6の両方で正確に割り切れる最小の数値であるためです。 2つの数値を受け取り、それらの数値のLCMを計算して返すJavaScript関数を作成する必要があります。 例 以下はコードです- const num1 = 4; const num2 = 6; const findLCM = (num1, num2) => { let hcf; for (let i = 1; i <= num1
-
JavaScriptでの2つの文字列間のハミング距離
ハミング距離 同じ長さの2つの弦の間のハミング距離は、対応する記号が異なる位置の数です。 たとえば、次の文字列について考えてみます- const str1 = 'delhi'; const str2 = 'delph'; 文字列の4番目と5番目の文字が異なるため、これらの文字列のハミング距離は2です。そして明らかに、ハミング距離を計算するには、同じ長さの2つのストリングが必要です。 したがって、2つの文字列、たとえばstr1とstr2を取り込んで、それらのハミング距離を返すJavaScript関数を作成する必要があります。 例 以下はコードです- co
-
JavaScriptでのブロック検索の実装
ブロック検索 バイナリ検索と同様に、ブロック検索もソートされた配列の検索アルゴリズムです。基本的な考え方は、すべての要素を検索する代わりに、固定の手順で先に進むか、一部の要素をスキップすることで、(線形検索よりも)少ない要素をチェックすることです。 例 長さnの配列arrとサイズmのブロック(ジャンプされる)があるとします。次に、インデックスarr [0]、arr [m]、arr [2 * m]、...、arr [k*m]などを検索します。 区間arr[k* m]
-
JavaScriptでの再帰的な階段の問題
次の問題があるとします- n段の階段があり、一番下に立っている人が一番上に行きたがっています。人は一度に1つまたは2つの階段を上ることができます。人がトップに到達できる方法の数を数える必要があります。 階段の数を表す数nを受け取るJavaScript関数を作成する必要があります。この関数は、階段を上ることができる方法の数をカウントして返す必要があります。 例 以下はコードです- const recursiveStaircase = (num = 10) => { if (num <= 0) { return
-
JavaScriptで度をラジアンに変換する
ラジアン ラジアンは角度を測定するための単位であり、数学の多くの分野で使用される角距離の標準的な単位です。 ある程度を表す数値を取り、対応するラジアンを返すJavaScript関数を作成する必要があります。 例 以下はコードです- const deg = 180; const degreeToRadian = (degree) => { const factor = (Math.PI / 180); const rad = degree / factor; return rad; }; console.l
-
JavaScriptパワーセットでセットのパワーセットを検索する
セットSのべき集合は、空のセットとS自体を含む、Sのすべてのサブセットのセットです。セットSのべき集合はP(S)として表されます。 例 S ={x、y、z}の場合、サブセットは- { {}, {x}, {y}, {z}, {x, y}, {x, z}, {y, z}, {x, y, z} } 唯一の引数として配列を受け取るJavaScript関数を作成する必要があります。関数は、入
-
JavaScriptでのレーベンシュタイン距離
レーベンシュタイン距離 レーベンシュタイン距離は、2つのシーケンス間の差を測定するための文字列メトリックです。これは、ある単語を別の単語に変更するために必要な1文字の編集の最小数です。 例- これらの2つの文字列があると考えてください- const str1 = 'hitting'; const str2 = 'kitten'; これらの3つの編集を行う必要があるため、これら2つの文字列間のレーベンシュタイン距離は3です- 子猫→殴られた(「k」の代わりに「h」を使用) hitten→hittin(「e」の代わりに「i」を使用) hi
-
JavaScriptでの補間検索
補間検索 補間検索は、キーに割り当てられた数値(キー値)で並べ替えられた配列内のキーを検索するためのアルゴリズムです。 例 n個の一様分布値arr[]のソートされた配列があり、配列内の特定の要素ターゲットを検索する関数を作成する必要があるとします。 位置を見つけるために次の操作を行います- //式の考え方は、より高い値のposを返すことです //検索する要素がarr[hi]に近い場合。そして // arr [lo]に近づくと値が小さくなります pos = lo + ((x - arr[lo]) * (hi - lo) / (arr[hi] - arr[Lo])) キー-
-
JavaScript関数で特定の開始文字または終了文字を確認します
2つの文字列を受け取るJavaScript関数を作成する必要があります。それらをstr1とstr2と呼びましょう。 この関数は、str1がstr2で始まるか、str2で終わるかをチェックする必要があります。この場合はtrueを返す必要があり、そうでない場合はfalseを返す必要があります。 例 以下はコードです- const str = 'this is an example string'; const startsOrEndsWith = (str1 = '', str2 = '') => { if(str
-
JavaScriptでオブジェクトを2次元配列に変換する
都市の天気に関する情報を含むオブジェクトがあるとします- const obj = { city: "New Delhi", maxTemp: 32, minTemp: 21, humidity: 78, aqi: 456, day: 'Tuesday', }; そのようなオブジェクトを1つ取り込むJavaScript関数を作成する必要があります。関数は、このオブジェクトに基づいて配列の配列を構築する必要
-
JavaScriptで配列の配列をオブジェクトに変換する
このようなクリケット選手のパフォーマンスを含む配列の配列があるとします- const arr = [ ['Name', 'V Kohli'], ['Matches', 13], ['Runs', 590], ['Highest', 183], ['NO', 3], ['SR', 131.5] ]; このような配列の配列を1つ取り
-
'?'を削除しますJavaScriptの文字列から
唯一の引数として文字列を受け取るJavaScript関数を作成する必要があります。文字列の最初と最後に疑問符(?)が含まれている可能性があります。関数は、これらすべての疑問符を最初と最後から削除して、他のすべてを所定の位置に保持する必要があります。 例- 入力文字列が-の場合 const str = '??this is a ? string?'; その場合、出力は-になります。 const output = 'this is a ? string'; 例 以下はコードです- const str = '??this is a ? string?
-
JavaScriptの文字列のn番目の位置に文字を挿入します
最初の引数として文字列、2番目の引数として数値、3番目の引数として1文字を受け取るJavaScript関数を作成する必要があります。この引数を、charと呼びましょう。 この数は、配列の長さよりも小さいことが保証されています。この関数は、文字列内のn文字ごとに文字文字を挿入し、新しく形成された文字列を返す必要があります。 例- 引数が-の場合 const str = 'NewDelhi'; const n = 3; const char = ' '; その場合、出力文字列は-になります。 const output = 'Ne wDe lhi
-
JavaScriptでの再帰的およびループ階乗関数のパフォーマンスの比較
2つのJavaScript関数を記述します。両方の関数の仕事は、数値を取り込んでその階乗を返すことです。 最初の関数は、階乗を計算するためにforループまたはwhileループを使用する必要があります。一方、2番目の関数は、再帰的アプローチを使用して階乗を計算する必要があります。 最後に、これらの関数が多数の反復で費やした時間を比較する必要があります。 例 以下はコードです- const factorial = (num = 1) => { let result = 1; for (let i = 2; i <= num; i
-
JavaScriptでの数値の素数性テスト
素数(または素数)は、1より大きい自然数であり、2つの小さい自然数を乗算しても形成できません。 1より大きい他のすべての自然数は、合成数と呼ばれます。素数性テストは、入力数が素数であるかどうかを判断するためのアルゴリズムです。 数値を取り込んで素数かどうかをチェックするJavaScript関数を作成する必要があります。 例 以下はコードです- const findPrime = (num = 2) => { if (num % 1 !== 0) { return false; }  
-
JavaScriptでGCDを計算するためのユークリッドアルゴリズム
数学では、ユークリッドのアルゴリズムは、2つの数値の最大公約数(GCD)を計算する方法であり、最大公約数は、余りを残さずに両方を除算します。 ユークリッドの互除法は、2つの数の最大公約数は、大きい数を小さい数との差に置き換えても変化しないという原則に基づいています。 たとえば、21は252と105のGCD(252=21×12と105=21×5)であり、同じ数21は105と252 − 105=147のGCDでもあります。 この置換により2つの数値の大きい方が減少するため、このプロセスを繰り返すと、2つの数値が等しくなるまで、数値のペアが連続して小さくなります。それが発生した場合、それらは元
-
JavaScriptのビット演算を使用して2の累乗をチェック
数値を取り込んで2の累乗かどうかを判断するJavaScript関数を作成する必要があります。 例- f(23) = false f(16) = true f(1) = true f(1024) = true アプローチ- バイナリ形式の2の累乗には、常に1ビットしかありません。このように- 1: 0001 2: 0010 4: 0100 8: 1000 したがって、数値がゼロより大きいことを確認した後、ビット単位のハックを使用して、1ビットのみが設定されていることをテストできます。同じことが以下に示されています- num & (num - 1) 例 以下はコードです- c