TypeScriptでLeetCodeを始めました~Sorting and Searching編~

最近体調が良くないので、今日は省エネ更新です…😷
リモートワークが続いているので、なるべく体の不調には気をつけていたつもりなのですが、崩れる時には崩れちゃいますね…。 私事ですが、9月に子供も生まれる予定ですので、健康が何より一番だと痛感しています…。睡眠、食事、運動、ストレス、この4つが適切な状態であることが大事なので、みなさんもお気をつけ下さい🙏 さて、それでは早速問題に移りたいと思います。

  • Merge Sorted Array
  • First Bad Version
  • まとめ
続きを読む

TypeScriptでLeetCodeを始めました~Trees編~[後編]

先週はプライベートが忙しくブログ更新のタイミングが取れませんでした…😅
ここでずるずると更新できなくなるとまずいので、今回は意地で更新しています!あと今回は2問だけなので短いのも助かっています😤
飽き性なのでコンスタントに続けていくのは難しいですが、なんとかかんとかTop InterviewのEasy Collectionを終わらせるまでは続けていきたいですね。 というわけで、今回はTreesの後編です!早速問題に移りましょう!

  • Binary Tree Level Order Traversal
  • Convert Sorted Array to Binary Search Tree
  • まとめ
続きを読む

TypeScriptでLeetCodeを始めました~Trees編~[前編]

今回からTrees編ということで、TypeScriptで書いていきます!
ちなみにTypeScriptはTrees以前からも選択できたのかもですが、自分が気付いていませんでした…😨
でもTypeScriptで書くとやはりnullチェックがしっかり入ったり、変な返り値も型で防止してくれるので事故が少ないですね!あとは引数にnullがunion型で指定されていると、「あ!これはnullが入りうるからその処理かかなきゃ!」と気づくこともできます!さらに、自分はVSCodeで書いているのですが、型による補完もめちゃくちゃありがたいです。JSはJSDoc形式で引数と返り値を書く必要があって少々面倒なんですよね…😅
これだけのメリットがあるため、今後の問題ではTypeScriptを選べる場合はTypeScriptで解答していきたいと思います。それでは、早速問題に移りましょう!

  • Maximum Depth of Binary Tree
  • Validate Binary Search Tree
  • Symmetric Tree
  • まとめ
続きを読む

JavaScriptでLeetCodeを始めました~LinkedList編~[後編]

今日はTOEICの模擬試験を受けました!結果は、スコア換算で800点台といったところです。
一般的な企業では十分な指標かと思いますが、自分は将来的に海外企業で働きたいと考えていますので正直900点台を狙いたかったです…😭
とはいえ、これが今の自分の実力ですし、一歩一歩力をつけていくしかないですね!プログラミング同様に英語も頑張れば結果はついてくると思いますので、LeetCode同様英語勉強も頑張っていきたいです!💪
とはいえ、今のままコロナが続いていると秋以降のTOEIC試験開催も危ぶまれるので、コロナが収束されることだけはアッラーに祈っております…🙏
閑話休題、それでは今週は先週に続いてLinkedListの後編を紹介していきたいと思います!

  • Merge Two Sorted Lists
  • Palindrome Linked List
  • Linked List Cycle
  • まとめ
続きを読む

JavaScriptでLeetCodeを始めました~LinkedList編~[前編]

本日のLeetCode Contestは鯖落ちによりunratedになりましたね。
ただ問題の中身を見てみると、結構自分が苦手なタイプの問題なので2完が良いところだったのではと思っています…😅 勉強してアルゴリズム力が身についてきているという実感はあるのですが、実践力はまだまだ発展途上ですね。

さて、今回からはLinkedList問題に取り組んでいこうと思います! LinkedListはArrayのようなリストなのですが、一方向の情報しか持ちません。なので、真ん中のNodeの情報や逆戻りに探索するのが苦手なようです。しかし、一方向の情報探索ではArray以上に高速な探索を行えるようでして、ケース・バイ・ケースでパフォーマンスを意識できると実装に幅がでてきそうですね!それでは早速LinkedList問題を解いていこうと思います!

  • Delete Node in a Linked List
  • Remove Nth Node From End of List
  • Reverse Linked List
  • まとめ
続きを読む

JavaScriptでLeetCodeを始めました~Strings編~[後編]

一週間ぶりのブログ更新です!
前回まで取り組んだLeetCode Top Interview QuestionsのStrings編後編をまとめたいと思います!
最近、LeetCodeやってて気づいたのですが、いつの間にかTypeScriptが追加されていますね! 個人的には、TypeScriptの方がVSCodeで補完が効くので好みです!現在取り組んでいるTreesからTypeScriptで書いているので、この後に続くLinkedList以降はタイトルが「TypeScriptでLeetCode始めました」になると思います。 それはさておき、後編を以下にまとめていきます!

  • String to Integer (atoi)
  • Implement strStr()
  • Count and Say
  • Longest Common Prefix
  • まとめ
続きを読む

JavaScriptでLeetCodeを始めました~Strings編~[前編]

前回でArray編を完了しました!
なので、今週からは2回にわけてStrings編に取り組んでいこうと思います!ちなみにLeetCodeの方は現在この一つ先であるLinkedListに取り組み始めました。こちらは普段の業務でなかなか実装することがないため、模索しながらの実装を進めています。

また、本日初めてLeetCodeのContestに参加しました!
初めての参加で問題の意図がつかめない部分もあったりしたのですが、なんとか第1問と第3問は回答することができました。 第3問については、このブログを通して身につけた正規表現とバイナリサーチで回答できたので成長を実感できました!😄やっぱり前はできなかったことができるようになると嬉しいですね!
というわけで、今週もLeetCodeに取り組んだ内容についてまとめたいと思います!

  • Reverse String
  • Reverse Integer
  • First Unique Character in a String
  • Valid Anagram
  • Valid Palindrome
  • まとめ
続きを読む