-
JavaScriptの線形時間における2つの合計の問題
最初の引数として数値の配列を取り、2番目の引数としてターゲットの合計を受け取るJavaScript関数を作成する必要があります。 関数は、配列(連続または非連続)からそのような2つの数値のインデックスを見つけて返す必要があります。これを合計すると、ターゲットの合計(存在する場合)が得られます。条件は、線形時間(1回の反復)でこれを実行する必要があることです。 マップを使用して反復された数値をカウントし続けます。いずれかの時点で、目標の合計を示す2つの数値に遭遇した場合は、すぐに戻ります。 例 このためのコードは-になります const arr = [1, 3, 5, 7, 9, 11];
-
JavaScriptで任意の数の配列間で共通のアイテムを見つける
このような数値の配列のオブジェクトがあるとします- const obj = { a: [ 15, 23, 36, 49, 104, 211 ], b: [ 9, 12, 23 ], c: [ 11, 17, 18, 23, 38 ], d: [ 13, 21, 23, 27, 40, 85] }; オブジェクト内の要素の数は固定されておらず、任意の数の要素を持つことができます。 そのようなオブジェクトを1つ取り込んで、各メンバー配列に共通の要素の配列を返すJavaScript関数を作成す
-
文字列をJavaScriptでセグメント化できますか
空でない文字列strと、空でない単語のリストを含む文字列arrの配列が与えられます。 strを、配列に存在する1つ以上の単語のスペースで区切られたシーケンスにセグメント化できるかどうかを判断する関数を作成する必要があります。 注 配列内の同じ単語は、セグメンテーションで複数回再利用される可能性があります。 配列に重複する単語が含まれていません。 例1 入力がの場合 const str = "applepenapple"; const arr = ["apple", "pen"]; のため、出力はtrueである必要
-
JavaScriptで大文字と小文字を区別する並べ替え
次のような文字列リテラルの配列があるとします- const arr = ['1185 Design','3 D Exhibits','44Doors', '4Concepts','ABC Data','acceleration']; そのような配列を1つ取り込んで、その配列をインプレースでソートするJavaScript関数を作成する必要があります。 ソート機能は、特殊文字で始まるすべての文字列、数字が最初に表示されるようにする必要があります。 その後、文字列はアルファベット順に表示されます。同
-
JavaScriptでソートされたリテラル配列から重複を削除する
リテラルのソートされた配列が与えられたと仮定します。各要素が1回だけ表示され、配列の新しい長さを返すように、配列からすべての重複をインプレースで削除する関数を作成する必要があります。 これを行うための条件は、別の配列に余分なスペースを割り当てることができないことです。これは、入力配列をO(1)の余分なメモリでインプレースで変更することによって行う必要があります。 例 このためのコードは-になります const arr = [1, 3, 3, 6, 7, 7, 9, 11, 13]; const removeDuplicates = (arr = []) => { &nb
-
JavaScriptで1つの配列のすべてのレコードを別の配列の各レコードに追加する
このような一部のユーザーに関するデータを含む文字列の配列が2つあるとします- const users = ['Rahul', 'Dinesh', 'Rohit']; const data = ["SOP1", "SOP2","SOP3","SOP4"]; このような2つの配列を受け取り、オブジェクトの新しい配列を返すJavaScript関数を作成する必要があります。 新しい配列には、ユーザーとデータ配列の可能な組み合わせごとにオブジェクトが含まれている必要がありま
-
JavaScriptで二分木を反転する
次のように表された二分木があるとします- 4 / \ 2 7 / \ / \ 1 3 6 9 この二分木のルートを取り込んで反転させるJavaScript関数を作成する必要があります。 上記の二分木の逆バージョンは次のようになります- 4 / \ 7
-
JavaScriptの2番目の文字列にない最初の文字列の要素を削除します
2つの文字列を受け取るJavaScript関数を作成する必要があります。この関数は、2番目の文字列にも存在する要素のみを含む新しいバージョンの最初の文字列を返す必要があります。 返される文字列の要素の出現順序は変更されないことに注意してください。つまり、順序は最初の文字列の場合と同じである必要があります。 例 このためのコードは-になります const str1 = 'abcdefgh'; const str2 = 'banana'; const deleteSelectively = (str1 = '', str2 = ''
-
JavaScriptで再帰せずに複数のネストされた配列の配列をフラット化する関数
次のような数値のネストされた配列があるとします- const arr = [1, 4, 5, [ 5, 6, [ 6, 19, 5, [5] ], [5, 7, 6, [6, 8]], 8 ], 6]; ネストされた配列、理想的には任意のレベルにネストされた配列を受け取るJavaScript関数を作成する必要があります。 次に、関数は、入力配列のフラット化されたバージョンではない新しい配列を準備して返す必要があります。 関数を書くときに避けるように求められる条件が2つあります- コード内の
-
配列のすべての値に文字列を付加するJavaScript関数?
次のような文字列リテラルの配列があるとします- const arr = ["a", "b", "c"]; 必要なのは、「Hello」という文字列があり、この文字列を配列のすべての値の前に追加することです。 したがって、この関数は、最初の引数として1つの文字列配列を取り、2番目の引数として1つの文字列を取る必要があります。 次に、関数は2番目の引数文字列を配列の各要素の前に追加する必要があります。 また、2つの値の間に区切り文字(この場合は「_」)を挿入する必要があります。 したがって、出力は次のようになります- const
-
JavaScriptのオブジェクトの新しい配列の配列オブジェクトプロパティ値の合計
このような一部の学生とそのマークに関するデータを含むオブジェクトの配列があるとします- const arr = [ { subject: 'Maths', marks: '40', noOfStudents: '5' }, { subject: 'Science', marks: '50', noOfStudents: '16' }, { subject: 'History', marks: '35
-
JavaScriptで最も近いNに切り上げる方法
番号があるとします const num = 76; ただし、 この数値を最も近い10桁に四捨五入すると、結果は80になります この数値を100の位に四捨五入すると、結果は100になります この数値を1000の位に四捨五入すると、結果は0になります 最初の引数として丸められる数値を取り、2番目の引数として丸め係数を受け取るJavaScript関数を作成する必要があります。 関数は、数値を四捨五入した後に結果を返す必要があります。 例 このためのコードは-になります const num = 76; const roundOffTo = (num, factor = 1
-
JavaScriptでJosephus順列を効率的に計算する
この問題は、古代の歴史家ヨセフスの人生でおそらく最も重要な出来事にちなんで名付けられました。彼の話によると、彼と彼の40人の兵士は、ローマ人によって洞窟に閉じ込められました。包囲。 彼らは敵に降伏することを拒否し、代わりにひねりを加えて集団自殺を選択しました-彼らは輪を作り、最後の一人が残るまで(そして行為を終わらせるために自分自身を殺すはずだった)、3人に1人の男を殺し始めました。 ヨセフスともう一人の男が最後の2人でした。物語の詳細がすべてわかったので、彼らが元のアイデアに正確に従わなかったと正しく推測したかもしれません。 ヨセフスの順列を返すJavaScript関数を作成する必要が
-
JavaScriptでコンマとセミコロンで区切られた文字列を2次元配列に分割するにはどうすればよいですか?
次のテキスト文字列を含む変数「users」があるとします。各ユーザーはセミコロンで区切られ、各ユーザーの各属性はコンマで区切られます- const users = 'Bob,1234,[email protected];Mark,5678,[email protected]'; このような文字列を1つ取り込んで、これを次のような多次元配列に分割するJavaScript関数を作成する必要があります- const arr = [ ['Bob', 1234, '[email protected]'], [
-
JavaScriptで数値の範囲の最小公倍数を見つけますか?
範囲を指定する正確に2つの数値の配列を受け取るJavaScript関数を作成する必要があります。 次に、関数はその範囲内のすべての数値の最小公倍数を計算し、最終結果を返す必要があります。 例 このためのコードは-になります const range = [8, 3]; const gcd = (a, b) => { return !b ? a : gcd(b, a % b); } const lcm = (a, b) => { return a * (b / gcd(a,b)); }; const rangeLCM = (arr
-
値を見つける方法は、バイナリツリーに存在するかJavaScriptに存在しないか?
値を取り込んでその値がBSTに含まれているかどうかを検出する、BinarySearchTreeデータ型のプロトタイプオブジェクトにJavaScript関数を記述する必要があります。 例 このためのコードは-になります // class for a single Node for BST class Node { constructor(value) { this.value = value; } } // class for BST // contains function to insert no
-
JavaScriptでnで割り切れる乱数を生成する
唯一の引数として数値を受け取るJavaScript関数を作成する必要があります。次に、関数はランダムに生成された数値を返す必要があります。これは、引数によって提供された数値で常に割り切れます。 例 このためのコードは-になります const num = 21; // function that generates random numbers divisible by n with a default upper limit of 1000000 const specialRandom = (num = 1, limit = 1000000) => { //
-
JavaScriptで特定の文字で始まる単語を検索する
最初の引数として文字列リテラルの配列を取り、2番目の引数として単一の文字列文字を受け取るJavaScript関数を作成する必要があります。 次に、関数は2番目の引数で指定された文字で始まる最初の配列エントリを見つけて返す必要があります。 例 このためのコードは-になります const names = ['Naman', 'Kartik', 'Anmol', 'Rajat', 'Keshav', 'Harsh', 'Suresh', 'Rahul']; const
-
JavaScriptで配列のすべての可能な順列を生成する
個別の整数の配列が与えられ、配列内の整数の可能なすべての順列を返す必要があります。 例- 入力配列が-の場合 const arr = [1, 2, 3]; その場合、出力は-になります。 const output = [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]; 例 このためのコードは-になります const arr = [1, 2, 3]; const find
-
JavaScriptで数値の配列をセットにソートするためのアルゴリズム
次のようなオブジェクトを含むオブジェクトの配列があるとします- const arr = [ {'item1': 144}, {'item2': 0}, {'item3': 366}, {'item4': 15}, {'item6': 366}, {'item7': 19}, {'item8': 211},