自力で解決できるようになるまで LeetCode ソリューションを勉強した 19 日目: 問題 #83.ソート済みリストから重複を削除する (E/JS)
3789 ワード
はじめに: 私は元会計士からソフトウェア エンジニアに転向し、2022 年 1 月にコーディング ブートキャンプを卒業しました.アルゴリズムとデータ構造は、現在、ほとんどのテック企業にとって面接の避けられない部分です.そして、私の友人の一人が、トップテック企業に入るためには60秒以内にミディアムリートコードの問題を解決する必要があると教えてくれました.
どの問題 (簡単な問題であっても) を解決する方法がわからないので、何時間も無駄にして、それを理解することができないと思いました.これが私のアプローチです:
リートコードの問題をランダムに選択するか、対象の企業からオンライン評価を選択します. Youtube または LeetCode のディスカッション セクションから 1 ~ 2 のソリューションを学習します. 1 つのブルート フォース ソリューション、もう 1 つはより最適なソリューションです. 詳細な説明をブログに投稿し、ソリューションをよりよく理解できるように口頭で説明します. ソリューションを見ずに LeetCode でソリューションをコーディングする
忘却曲線と戦う: 次の 3 日間、質問をやり直します.そして、定期的に戻って問題を再検討してください.
83.ソート済みリストから重複を削除する
並べ替えられたリンク リストの
例 1:
例 2:
制約:
リスト内のノード数は リストは昇順でソートされることが保証されています.
解決:
2022 年 3 月 1 日時点のソリューション提出の詳細
(毎日新しいテスト/提出があるため、以下のデータは異なる場合があります)
ランタイム: 91 ミリ秒 メモリ使用量: 41.9 MB
参考文献:
LeetCode Problem Link
LeetCode Discussion: rickp
Note 1: while statement
Note 2: strictly equal (===)
Note 3: if...else
Note 4: Logical AND (&&)
Blog Cover Image Credit
どの問題 (簡単な問題であっても) を解決する方法がわからないので、何時間も無駄にして、それを理解することができないと思いました.これが私のアプローチです:
忘却曲線と戦う: 次の 3 日間、質問をやり直します.そして、定期的に戻って問題を再検討してください.
これは私の最初のリンク リストの問題です
83.ソート済みリストから重複を削除する
Difficulty: Easy
Language: JavaScript
並べ替えられたリンク リストの
head
を指定して、各要素が 1 回だけ表示されるようにすべての重複を削除します.リンクされたリストもソートして返します.例 1:
Input: head = [1,1,2]
Output: [1,2]
例 2:
Input: head = [1,1,2,3,3]
Output: [1,2,3]
制約:
[0, 300]
の範囲です. -100 <= Node.val <= 100
解決:
var deleteDuplicates = function(head) {
let current = head;
//let current node equal to head and keep track of current node
while(current !== null && current.next !== null){
//while (note 1) current node and the next node exist, loop will
//start and find the node that is not duplicated. If any of the
//two condition (note 4) is null, the loop will break.
if(current.val === current.next.val){
//if current value of the node equal (note 2) to the next node
current.next = current.next.next
//skip over the next node to the node after that and starts next
//loop
} else {
current = current.next
//if not, move current to the next node and starts next loop
}
}
return head
//return the head will return the entire linked list.
};
2022 年 3 月 1 日時点のソリューション提出の詳細
(毎日新しいテスト/提出があるため、以下のデータは異なる場合があります)
参考文献:
LeetCode Problem Link
LeetCode Discussion: rickp
Note 1: while statement
Note 2: strictly equal (===)
Note 3: if...else
Note 4: Logical AND (&&)
Blog Cover Image Credit
Reference
この問題について(自力で解決できるようになるまで LeetCode ソリューションを勉強した 19 日目: 問題 #83.ソート済みリストから重複を削除する (E/JS)), 我々は、より多くの情報をここで見つけました https://dev.to/killingleetcode/day-19-of-studying-leetcode-solution-until-i-can-solve-one-on-my-own-problem83-remove-duplicates-from-sorted-listejs-3gfbテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol