LeetCodeを解いてみる配信 2020-07-07

LeetCodeを解く配信をした
https://www.youtube.com/watch?v=BbpOyov5ib0www.youtube.com

飲んでたノンアルコールビールはこれ

XORしていく

XOR Operation in an Array - LeetCode
動画は1:52から。

startとnが与えられるので、start + i * 2をどんどんXORしていく。
問題をそのまま書いたら解けた感じ

四角を塗っていく

Subrectangle Queries - LeetCode 動画は8:12から。

二次元配列が与えられて、左上と右下と値が与えられるのでその範囲を新しい値で更新していく。
Mediumのくせにやたら簡単だったので、評価が低い。 最初は二重ループでやって、遅いしメモリも食ってることでArrays.fillを使ったんだけど、そんなに改善しないのであきらめ。

小さい数字を数える

How Many Numbers Are Smaller Than the Current Number - LeetCode
動画は22:40から。

数値の配列が与えられるので、それぞれの要素についてそれより小さい数値がいくつあるか数える。
最初は素直に二重配列にしたんだけど、やっぱりかなり遅かったんで、まずは単純にキャッシュした。
それでもそこまで速くならなかったので、最初にそれぞれの数値を数えて、あらかじめ各数値についてそれより少ない数がいくつかるかを計算するようにした。
そうすると速くはなったんだけど、メモリを食うってことになった。改善点思いつかんかったので、そこで終了