Rankこの広告は、90日以上更新していないブログに表示しています。hashCode問題xy平面上にN個の点が与えられる。多くの点を通るように直線を引いた時の点の最大値を求める問題leetcode.com解法HashMapを用いることでO(N2)で解くことができる。forループを2回使い2つの点を全列挙する。2つの点のを結ぶ傾きをキーとして、HashMapに保存する。バリューには1つの座標を固定した時に、傾きが同じ値になるものの出現回数を保存する。傾きを比較するために小数値ではなく分数で扱う。少数値を比較するためには誤差を考慮する必要があるので、分数のまま扱うことにする。分母と分子をプロパティとして持つクラスを定義してあげる。分数を作る際に、約分できる時は約分をする。約分するためにユークリッドの互除法を用いて最大公約数を計算するkeita-matsushita.hatenablog.com分母がゼロになる時を注意する傾きを計算する時に、2つの点のx座標が等しいと分母が0となってしまい傾きがINFとなる。この時は、Lineクラスに傾きがINFか否かをチェックするためのプロパティを用意し場合分けに使う同一点を考慮する入力値として与えられる点は、全く同じ座標のものも含まれる。よって同一座標の数をカウント(dup)することで対応する。2つの文字列が与えれる。2つの文字列がアナグラムとなるように文字を消す数を返す問題。2つの文字列が与えれる。(1)はてなブログをはじめよう!atiek1121さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。