-
JavaScriptのライブラリ関数を使用せずに対応する文字列の数を変換する
問題 組み込み関数String()またはtoString()を使用したり、文字列連結を使用したりせずに、数値nを取り込んで対応する文字列に変換するJavaScript関数を作成する必要があります。 例 以下はコードです- const num = 235456; const convertToString = (num) => { let res = ''; while(num){ res = (num % 10) + res; num
-
JavaScriptの月インデックスに基づいて四半期を検索する
問題 1ベースの月のインデックスを受け取り、その月が属する四半期を返すJavaScript関数を作成する必要があります。 例 以下はコードです- const month = 7; const findQuarter = (month = 1) => { if (month <= 3) { return 1 } else if (month <= 6) { return 2 } else if (month <
-
JavaScriptの配列要素の重複を含むコモンズ
問題 最初で唯一の引数として、文字列の配列arrを受け取るJavaScript関数を作成する必要があります。 この関数は、配列arr (重複を含む)内のすべての文字列に表示されるすべての文字の配列を返すことになっています。 。 たとえば、文字がすべての文字列で2回出現するが、3回出現しない場合、その文字を最終的な回答に2回含める必要があります。 たとえば、関数への入力が-の場合 const arr = ['door', 'floor', 'crook']; その場合、出力は-になります。 const output = ['r
-
問題:JavaScriptでトマトが腐敗するのにかかる時間
問題 唯一の引数として、数値の2次元配列arrを受け取るJavaScript関数を作成する必要があります。 配列内の数値は-にすることができます 空のセルを表す値0; フレッシュトマトを表す値1; 腐ったトマトを表す値2。 毎分、腐ったトマトに(4方向に)隣接しているフレッシュトマトは腐ります。 私たちの関数は、新鮮なトマトがなくなるまで経過しなければならない最小分数を返すことになっています。これが不可能な場合は、代わりに-1を返す必要があります。 たとえば、関数への入力が-の場合 const arr = [ [2, 1, 1], &n
-
JavaScriptのn個の異なる要素を持つ配列の部分
問題 最初の引数としてリテラルの配列arrを受け取るJavaScript関数を作成する必要があります。関数の2番目の引数は、数値numになります。この関数は、正確にnum個の個別の要素を含む配列のサブ配列の数をカウントして返す必要があります。 たとえば、関数への入力が-の場合 const arr = [12, 15, 12, 15, 18]; const num = 2; その場合、出力は-になります。 const output = 7; 出力の説明 正確に2つの異なる要素で形成されたサブアレイ- [12,15], [15,12], [12,15], [15,18], [12,15,1
-
JavaScriptでmからnに到達するために必要な操作の最小数を見つける
問題 最初と2番目の引数としてmとnの2つの数値を受け取るJavaScript関数を作成する必要があります。 私たちの関数は、これら2つの操作のみを使用して、mからnに到達するために必要な最小操作の数をカウントすることになっています- ダブル −ディスプレイ上の数値に2を掛ける、または; デクリメント −ディスプレイ上の数字から1を引きます。 たとえば、関数への入力が-の場合 const m = 5; const n = 8; その場合、出力は-になります。 const output = 8; 出力の説明: 操作は-であるため 5 → 4 → 8
-
JavaScriptで方程式の妥当性をチェックする
問題 最初で唯一の引数として配列arrを受け取るJavaScript関数を作成する必要があります。 配列arrは、次の2種類のいずれかの文字列方程式で構成されます- ‘x ===Y’ X!==Y’ ここで、XとYは任意の変数にすることができます。 この関数は、配列内のすべての方程式について、配列内のすべての方程式が真になるように番号を割り当てることができるかどうかをチェックすることになっています。 たとえば、関数への入力が-の場合 const arr = ['X===Y', 'Y!==Z', 'X===Z']; その場
-
JavaScriptで区間の配列の共通部分を見つける
問題 ペアごとに互いに素でソートされた順序の間隔のarr1とarr2の2つの配列を受け取るJavaScript関数。 閉区間[a、b](<=b)は、<=x<=bの実数xのセットを示します。 2つの閉じた区間の共通部分は、空であるか、閉じた区間として表すことができる実数のセットです。たとえば、[1、3]と[2、4]の交点は[2、3]です。)この関数は、これら2つの区間配列の交点を返すことになっています。 たとえば、関数への入力が-の場合 const arr1 = [[0,2],[5,10],[13,23],[24,25]]; const arr2 = [[1,5],[8,12],[15,
-
JavaScriptでソートされた順序で正方形を検索する
問題 整数の配列arrを受け取り、昇順で並べ替えるJavaScript関数を作成する必要があります。 この関数は、各数値の2乗の配列を、昇順で並べ替えて返すことになっています。 たとえば、関数への入力が-の場合 const arr = [-2, -1, 1, 3, 6, 8]; その場合、出力は-になります。 const output = [1, 1, 4, 9, 36, 64]; 例 このためのコードは-になります const arr = [-2, -1, 1, 3, 6, 8]; const findSquares = (arr = []) => { &nbs
-
JavaScriptでnで割り切れる合計
問題 最初の引数として数値の配列arrを取り、2番目の引数として数値numを受け取るJavaScript関数を作成する必要があります。この関数は、合計がnumで割り切れる(連続した、空でない)サブ配列の数を返す必要があります。 たとえば、関数への入力が-の場合 const arr = [4, 5, 0, -2, -3, 1]; const num = 5; その場合、出力は-になります。 const output = 7; 出力の説明 合計が5で割り切れる7つのサブ配列があります- [4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [
-
JavaScriptで原点に最も近いポイントを見つける
問題 最初の引数として座標の配列arrを取り、2番目の引数として数値numを受け取るJavaScript関数を作成する必要があります。 この関数は、原点(0、0)に最も近いnum個のポイントを見つけて返す必要があります。 (ここでは、平面上の2点間の距離はユークリッド距離です。) たとえば、関数への入力が-の場合 const arr = [[3,3],[5,-1],[-2,4]]; const num = 2; その場合、出力は-になります。 const output = [[3,3],[-2,4]]; 例 このためのコードは-になります const arr = [[3,3],[5
-
JavaScriptで一値二分探索木をチェックする
一価二分探索木 ツリー内のすべてのノードの値が同じである場合、二分探索木は単一値になります。 問題 BSTのルートを受け取り、指定されたツリーが単一値の場合にのみtrueを返し、それ以外の場合はfalseを返すJavaScript関数を作成する必要があります。 たとえば、ツリーのノードが-の場合 const input = [5, 5, 5, 3, 5, 6]; その場合、出力は-になります。 const output = false; 例 このためのコードは-になります class Node{ constructor(data) { &nbs
-
JavaScriptで範囲内の連続した数字を見つける
連続桁数 番号の各桁が前の桁より1つ多い場合に限り、番号には連続した桁があります。 問題 範囲を指定する正確に2つの要素の配列arrを受け取るJavaScript関数を作成する必要があります。 この関数は、連続する数字を持つarr(範囲を含む)の範囲内のすべての整数のソートされた配列を返す必要があります。 たとえば、関数への入力が-の場合 const arr = [1000, 13000]; その場合、出力は-になります。 const output = [1234, 2345, 3456, 4567, 5678, 6789, 12345]; 例 このためのコードは-になります co
-
JavaScriptでバナナ問題を配布する
問題 行列に並んでいる人がn人いるとすると、次のようにバナナを配りたいと思います- 最初の人に1本のバナナを、2人目の人に2本のバナナを与え、最後の人にn本のバナナを与えるまで続きます。 次に、行の最初に戻り、最初の人にn + 1本のバナナ、2人目の人にn + 2本のバナナを与え、最後の人に2*n本のバナナを与えるまで続けます。 このプロセスは、キャンディーがなくなるまで繰り返されます(毎回バナナをもう1つ与え、最後に到達した後、列の最初に移動します)。最後の人は残りのバナナをすべて受け取ります。 最初の引数として人数numを取り、2番目の引数としてバナナの数mを受け
-
JavaScriptのBSTの2つの合計
問題: 最初の引数と2番目の引数として、2つの二分探索木のルートであるroot1とroot2をそれぞれ取り込むJavaScript関数を作成する必要があります。関数の3番目の引数はnumber、targetです。 この関数は、最初のツリーにノードがあり、2番目のツリーにノードがあり、その値の合計が特定の整数ターゲットになる場合にのみTrueを返し、それ以外の場合はfalseを返す必要があります。 たとえば、関数への入力が-の場合 const target = 23; BST その場合、出力は-になります。 const output = true; 出力の説明: 最初のツリーに
-
JavaScriptで配列要素を再配置する
問題 リテラルの配列arrを最初で唯一の引数として受け取るJavaScript関数。この配列には、隣接して配置されたいくつかの重複が含まれています。 この関数は、配列内の2つの要素が等しくならないように、配列の要素を再配置する必要があります。このような配置の可能な方法が少なくとも1つ存在することが保証されている場合、関数は再配置された配列を返す必要があります。 たとえば、関数への入力が-の場合 const arr = [7, 7, 7, 8, 8, 8]; その場合、出力は-になります。 const output = [7, 8, 7, 8, 7, 8]; 出力の説明: 他の正しい可
-
JavaScriptの最長の文字列チェーンの長さ
ワードチェーン word1の任意の場所に正確に1文字を追加して、word2と等しくできる場合に限り、word1がword2の前身であるとしましょう。たとえば、「abc」は「abac」の前身です。 =1の単語[word_1、word_2、...、word_k]のシーケンスです。ここで、word_1はword_2の先行であり、word_2はword_3の先行です。 問題 最初で唯一の引数として、文字列の配列arrを受け取るJavaScript関数を作成する必要があります。 配列arrの各文字列は、英語の小文字で構成されています。この関数は、指定された配列arrから選択された単語を含む単語チ
-
JavaScriptで文字列から隣接する重複を削除する
問題 最初で唯一の引数として文字列strを受け取るJavaScript関数。 重複削除は、2つの隣接する等しい文字を選択し、それらを削除することで構成されます。 できなくなるまで、文字列strで重複した削除を繰り返し行います。 そして、このような重複した削除がすべて行われた後、関数は最終的に最終的な文字列を返す必要があります。 たとえば、関数への入力が-の場合 const str = 'kllkmk'; その場合、出力は-になります。 const output = 'mk'; 出力の説明: まず、文字列から「ll」を削除して「kkmk」に減らし、「
-
JavaScriptで各ノードの次に大きいノードを見つける
問題 リンクリストの先頭を最初で唯一の引数として受け取るJavaScript関数を作成する必要があります。 node_i.val、jは可能な限り最小の選択肢です。そのようなjが存在しない場合、次に大きい値は0です。 この関数は、対応する要素がリスト内の要素の次に大きい要素である配列を準備して返す必要があります。 たとえば、リストが-の場合 その場合、出力は-になります。 const output = [7, 0, 5, 5, 0]; 出力の説明: 2の次に大きい要素は7であるため、7の場合、それ以上の要素はありません。 例 このためのコードは-になります class Nod
-
JavaScriptで最大の合計と最小のインデックスの違い
問題 整数の配列arrを最初で唯一の引数として受け取るJavaScript関数。 関数は、(arr [i] + arr [j])+(i --j)が配列内のすべてのインデックスペアの中で最大になるように、インデックスペア(i、j)を選択する必要があります。この場合、関数は最大値を返す必要があります。 たとえば、関数への入力が-の場合 const arr = [8, 1, 5, 2, 6]; その場合、出力は-になります。 const output = 11; 出力の説明 i=0およびj=2を選択すると、値は-になるためです。 (8 + 5) + (0 - 2) = 11 これは実際、