プログラマ|K個数JS
1662 ワード
難易度:Level.1
言語:Javascript
履歴:並べ替え
与えられた条件に従って数値配列に現れるK個の数を返します.
まずこの問題には多くの条件がある.
commandsパラメータの値が[2,4,2]の場合、
array配列から2番目の値から4番目の値を切り取ります.
この値を昇順に並べ、2番目の値を答えに入れます.
このような条件があります.
次に配列を
次いで、
なぜこのようにして
これらの繰り返しチェックが完了すると、答えが見つかります.
デフォルトでは、JavaScriptのsort関数は要素を文字列に設定します.
UTF-16は、コード単位値に従って並べ替えられる.
文字列に変換してソートするので、ここで気づいた人もいるかもしれません.
数値ソートには適していません.ソース:sortのブログ記事について2 つまり、Unicodeを基準に数字を並べ替えます.
昇順に並べたいとしても、低い数字より高い数字が出る可能性があります.
そのため、
正常な昇順を体験します.
今になって分かったのですが、その部分は次回からよく考えて使います.
言語:Javascript
履歴:並べ替え
❓ Question
与えられた条件に従って数値配列に現れるK個の数を返します.
📝 My Solution
フルプールコード 👈🏻 クリックしてGithubに移動
まずこの問題には多くの条件がある.
commandsパラメータの値が[2,4,2]の場合、
array配列から2番目の値から4番目の値を切り取ります.
この値を昇順に並べ、2番目の値を答えに入れます.
このような条件があります.
function solution(array, commands) {
var answer = [];
for(let i = 0; i<commands.length; i++) {
let sliceArr = array.slice(commands[i][0]-1,commands[i][1])
.sort((a,b) => a-b);
順番に開く場合は、まず文を繰り返してコマンドの配列長を繰り返します.次に配列を
slice
に切り取り、インデックス値ではなくいくらであるかを判断する必要があります.slice
の最初のオプションは-1で、2番目のオプションは:次いで、
sort
を用いて剪断値を並べ替えた.なぜこのようにして
sort
が行われたのかをまとめます.answer.push(sliceArr[commands[i][2]-1]);
}
return answer;
}
並べ替えられた配列で、K番目の数字を見つけて正しい配列に入れます.これらの繰り返しチェックが完了すると、答えが見つかります.
🙋🏻ジルコニウム♂sort()関数の特徴
デフォルトでは、JavaScriptのsort関数は要素を文字列に設定します.
UTF-16は、コード単位値に従って並べ替えられる.
文字列に変換してソートするので、ここで気づいた人もいるかもしれません.
数値ソートには適していません.
昇順に並べたいとしても、低い数字より高い数字が出る可能性があります.
そのため、
sort
関数について上記の操作を行う必要がある.正常な昇順を体験します.
結果
sort
関数を何回か試したことがありますが、数値ソートには向いていません.今になって分かったのですが、その部分は次回からよく考えて使います.
Reference
この問題について(プログラマ|K個数JS), 我々は、より多くの情報をここで見つけました https://velog.io/@sstaar91/Algorithm-Programmers-SearchKnumテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol