技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

2019-08-01から1ヶ月間の記事一覧

Javaで配列中の最大値と2番目に大きい値を取得する。

Javaで、配列中の最大値を取得するメソッドと、2番目に大きい値を取得するメソッドを作成した。Javaにはこれらをする標準メソッドがないようなので、競プロの問題を解く時の時間短縮のため自作した。 // 配列の中の最大値を求める int getMax (int[] array) …

Javaでラムダ式を使ってListのソートを行う。

競技プログラミングで良く使う List のソートについて書く。例えば、以下のクラスのインスタンスを保持する List があって、それを age が若い順(昇順)にソートしたいとする。 class Person { String name; int age; Person(String name, int age) { this.na…

Javaで平方数かどうかを判定する。

Javaで平方数かどうかを判定するメソッドを作成した。 // 平方数かどうかを調べる。 boolean isSquareNumber (int number) { if (number < 0) { throw new IllegalArgumentException("Argument must be 0 and over."); } double sqrtOfNumber = Math.sqrt(nu…

Javaで最大公約数、最小公倍数を求める。

Javaで最大公約数、最小公倍数を求めるメソッドを作成した。引数で受け取った2つの引数の最大公約数、最小公倍数をそれぞれ求めて返す。 // 最大公約数を求める。 int calcGcd(int m, int n) { if (m <= 0 || n <= 0) { throw new IllegalArgumentException(…

Javaで配列のソート

Javaで配列をソートするには Arrays.sort() を使用する。ただ、Arrays.sort() では、プリミティブ型の配列に対しては昇順にしかソートできないので、プリミティブ型の配列を降順でソートするには、一度 Arrays.sort() で昇順にしてから逆順にするなどの手間…

Javaで、組み合わせ、順列、階乗を計算する。

競技プログラミングの問題を解く際、組み合わせ(nCr)、順列(nPr)、階乗(n!) の計算を行うことがちょくちょくあるので、今後の時短のため以下のメソッドを作成した。 // nCr を計算する。 // 計算結果は int max を超えやすいので long 型としている。 // lon…

Javaの整数型の最大値

最近、仕事と関連していて頭を使う新たな趣味を始めようと思い、週末などに競技プログラミング (AtCoder) の過去問を黙々と解いている。言語は、速度やライブラリの充実度を考えると C++ が良さそうだったのだが、仕事で一番馴染んでいるのがJavaだったので…