アルゴリズムの問題-赤ちゃんの手順を使用してソリューションを提供する
10177 ワード
導入
候補者の問題解決能力に興味を持っているリクルーターは、彼らに問題を提示して、彼らにその問題のためにアルゴリズムを書くよう頼みます.そうすることによって、リクルーターは、本当に構文を理解して、それがどのように働くかという人々からコードをコピーして、ペーストする人々を切り離すことができます.しかし、アルゴリズムは何ですか?
ジャンプします
上記の定義から、アルゴリズムは問題を解決するために使用され、一つは効果的なアルゴリズムを構築するために使用されます.
アルゴリズムや問題解決のインタビューは、今日の技術の現在の傾向とほとんど避けられないです.
この現実の観点から、どのように、あなたは問題を解決するアルゴリズムを成し遂げることができますか?
アルゴリズム問題の解法
理解-問題を理解しようとすると、可能な限り最小の部分にそれを壊す.
戦略-あなたのプログラミング言語(私たちは、この記事の目的のためにJavaScriptを使用しているツールで使用可能なツールを見つける).
実装-これらのツールでそれぞれの小さな問題を解決し、問題を解決するために解決策を組み合わせる.
For Example, if you are presented with a word palindrome problem, how do you go about writing the algorithm to that problem?
上記のステップを適用しましょう
ステップA :理解する
ここで大きな問題は、私たちが与えられた単語が逆であれば同じかどうかチェックすることです.
しかし、そのためには以下のような小さな問題を解決しなければなりません.
ステップB戦略
我々が我々の退化に持っているツールのいくつかは、以下を含みます
ステップc :実装
この問題をより小さなビットに分解したので、私たちは
variable
JavaScriptで提供されるツール
const orginalWord = word;
文字列を逆にすることはできませんので、単語を分割し、.split("")
方法
let splittedWord = word.split("");
これで、配列を.reverse()
以下のように:
let reversedWord = splittedWord.reverse();
それは現在逆です.しかし、文字を区切ることなく文字列に戻す必要があります.だから私たちは.join("")
こうする
let newWord = reversedWord.join("");
最後に、最初に与えられた言葉を比較しましょう
if(orginalWord === newWord){
console.log(true)
}else{
console.log(false)
}
最終コード
function palindrome(word){
const orginalWord = word;
let splittedWord = word.split("");
let reversedWord = splittedWord.reverse();
let newWord = reversedWord.join("");
if(orginalWord === newWord){
return(true)
}else{
return(false)
}
}
他の誰かが、次のコードで問題を解決できます.
function palindrome(word){
return(word === [...word].reverse().join(""))
}
Notice how easy it is to Conquer any problem if you divide it. So basically, algorithm is all about how you can divide and conquer!
練習、彼らは繁殖完璧を言う.それで、心の中で、私はあなたがあなたの問題解決技術でよりよくなるのを援助するために、次のシリーズであなたを提示しています.私がアルゴリズムを受け入れることに決めたとき、シリーズは少し前に作られました.その決定は一般的に私のプログラミング技術を改善しました、そして、私はあなたが技術的なインタビューで勝つ機会と同様にあまりにもそれを強化すると確信しています.
So please, enjoy the series...
アルゴリズムを解くあなたの問題をシャープに25アルゴリズム
ボーナス
結論
を行うと、そのアルゴリズムは、見えるように困難ではないことがわかります.基本的に、それはすべての日の問題を解決することです.しかし練習せずに、簡単に問題を解決することは容易ではない.
したがって、私はあなたがフォローし、あなたのために上記のアルゴリズムシリーズを提示する練習をお勧めします.
Check out some of the solutions on github
Reference
この問題について(アルゴリズムの問題-赤ちゃんの手順を使用してソリューションを提供する), 我々は、より多くの情報をここで見つけました https://dev.to/ebereplenty/algorithm-problems-baby-steps-in-providing-solutions-using-javascript-1edpテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol