inohilog

/var/log/inohiro.log

2017-11-01から1ヶ月間の記事一覧

101 & 121

101. Symmetric Tree 二分木がシンメトリーになっているか調べる。木を辿るときに右側から辿る方と、左側から辿る方を両方ともやって、値が等しいか確認する。私が実装したやつだと、それぞれ完全に終わりまで調べてから、その結果が左右で等しいか確認して…

83. Remove Duplicates from Sorted List

https://github.com/inohiro/LeetCode/blob/master/83_remove_duplicates_from_sorted_list/self.rb https://leetcode.com/problems/remove-duplicates-from-sorted-list/ 25分くらい掛かったけど一発で解けた。重複してる要素はスキップするというのを数日…

70. Climbing Stairs

登る階段のステップ数 n が渡されて、一度に一歩もしくは二歩登れるときに、登るパターンの総数を計算する。解けた、一発で解けたんだけど、なんか変な解き方をしてしまって、いまいちスッキリしない。 https://github.com/inohiro/LeetCode/blob/master/70_…

Weekly Contest 60 に参加

https://leetcode.com/contest/weekly-contest-60/ 733. Flood Fill https://github.com/inohiro/LeetCode/blob/master/contests/60_2017_11_25/a.rb https://github.com/inohiro/LeetCode/blob/master/contests/60_2017_11_25/a_solution.rb 二次元配列の探…

11. Container With Most Water

https://leetcode.com/problems/container-with-most-water/ O(n2) なアルゴリズムを書いてTLEを食らって、枝刈りするようにしてみたが結局解けず。 https://github.com/inohiro/LeetCode/blob/master/11_container_with_most_water/self_2.rb 解説を読んだ…

26, 27 配列から{重複, 指定された要素}を取り除いたあとの要素数

両方とも Easy だけど、よくわからなかったので解説を読んだ。両方とも2つの変数を使って、先を行く変数と、後ろからついていく変数が指す配列中の値をつかって、条件に合う要素数を 数える。 https://github.com/inohiro/LeetCode/blob/master/26_remove_du…

Ruby でマルチスレッドプログラミング

ある問題で、Redis からデータを読んで、中身に書いてあることをやって(sleepするとか)というものがあった。その発展系では、並列でやるようにしろと言うものだった。だいたい処理を並列にさせたい時は、parallel gem を使っている。とっても簡単で、仕事…

14. Longest Common Prefix

https://github.com/inohiro/LeetCode/blob/master/14_longest_common_prefix/self.rb https://leetcode.com/problems/longest-common-prefix/ 文字列の配列から、共通接頭辞を探し出す。長さが最小のものを一文字ずつ見ながら、幅優先探索するように他の文…

LeetCode Weekly Contest 58 に参加

メールでお知らせが来て、見たところ PDT に優しい時間帯(18:30-20:00)だったので初参加。AtCoder と同じように4問、だんだん難易度が上がっているように見える(正解すると得られるポイントが大きくなるように設定されていた)。 https://leetcode.com/co…

動的計画法を復習

LeetCode #5 の動的計画法を使った解法を実装しようとしたが、体系的に?復讐しておきたかったので。動的計画法は、再帰を使って解くような繰り返し小さい問題を再帰的にに解くような問題において、メモ化することで計算時間が指数関数的に爆発するのを避け…

5. Longest Palindromic Substring

https://leetcode.com/problems/longest-palindromic-substring/solution/ https://github.com/inohiro/LeetCode/tree/master/5_longest_palindromic_substring 与えられた文字列から最長の回文を見つけ出す。最長の部分文字列と同じやり方でいけるかなと思…

9. Palindrome Number

https://github.com/inohiro/LeetCode/tree/master/9_palindrome_number https://leetcode.com/problems/palindrome-number 与えられた数値が回文数(Wikipedia)かどうかを判定する関数を書く。こういう数学の問題を文字の配列にして解くのをやめたい... 奇…

近状 - LeetCode を始めた

(転活のために?)LeetCode を始めた。ちょっと前に HackerRank を知って使っていたけど、LeetCode のほうが解説とかしっかりしてて良い。あとは Submit した後にテストケースが実行されるが、どんな入力でエラーまたはタイムオーバーしているかと言うのが…

近状 - Java に再入門

お仕事で Java を使うことになり、大学生のときにちょっと触ったくらいなので再入門している。当時は NetBeans か Eclipse 使っていたし、たしか ant だったし。Visual Studio Code がイケてるのと、gradle が今の主流のようなので、とりあえずその組み合わ…