【StudyReport】 2021年7月
自分がどこに向かうべきか定まらないのですが、とりあえず興味のあるものから少しずつインプットを増やすようにしています。
書籍
Pythonでのアルゴリズムの解き方サンプルとしてざっと目を通しました。コード1行1行に解説があってわかりやすいものの、個人的にはちょっと説明が冗長な感じもしました。
大量の問題は後回しにしてとりあえず文章だけざっと読みました。ビックオー記法の説明が詳しくて良かったです。他の本だとなかなかきちんと説明している箇所がなかったので理解が深まりました。例題を解いてみると意外と簡単なようで難しい...対数がどうも苦手です...
Pythonを勉強しはじめたので、せっかくだしと思って機械学習の入門書っぽいものも買ってみました。2章のscikit-learnまで読みましたが、主にライブラリの使い方という感じでざっと目を通す程度で良さそうです。
LeetCode
Easyを10問ちょっとぐらい解きました。もっとがっつりやろうと思っていたのですが、1問1問結構時間も頭も使うので疲れちゃって大量にできなかったです...
https://leetcode.com/problemset/all/
# | タイトル | 備考 | |
---|---|---|---|
1 | 1. Two Sum | Easy |
二重ループだとだがHashを使えばで解ける。事前にHashを作らず、ループ内で値が見つからなければHashに追加していく。Premiumだが動画がわかりやすい |
2 |
121. Best Time to Buy and Sell Stock |
Easy | ではなく2つの変数を使ってで解く |
3 | 953. Verifying an Alien Dictionary | Easy | 単純な文字列比較問題 |
4 | 20. Valid Parentheses | Easy | 括弧の対応関係が正しいかをスタックで解く |
5 | 53. Maximum Subarray | Easy |
全パターン検索だとだが、動的計画法(DP)のKadane's Algorithm (カデインと読むらしい)を使えばで解ける。下記の動画がわかりやすい。 https://www.youtube.com/watch?v=86CQq3pKSUw また、少し遅くなるが分割統治法(divide-and-conquer)を使えばで解ける |
6 | 415. Add Strings | Easy | 桁をそれぞれUnicode差分で数字にして足していくだけ。ただそれでも初見だと一瞬戸惑う |
7 | 7. Reverse Integer | Easy | 10の余りで桁を取り出すのと前の数字にx10して桁を足すのを同じループ内でやるとで解ける |
8 | 176. Second Highest Salary | Easy | 急にSQLの問題でびっくりした。こんなのもあるのか...Maxより小さいものの中でMaxを取れば2番目の値が取れる |
9 | 125. Valid Palindrome | Easy | 回文か判定する問題。外側から内側に向かって比較していけばいいだけ |
10 | 680. Valid Palindrome II | Easy | 回答がない問題でどこまでやればいいのかちょっと微妙 |
11 | 696. Count Binary Substrings | Easy |
英語の読解力のなさも相まって問題がわかりにくい。動画を見てようやく理解できた |