Java初心者の競技プログラミング日記

Dvorak配列でjavaを書いてます

2018-01-01から1年間の記事一覧

二点間の距離を求めるメソッド

二点間の距離には、ユークリッド距離とマンハッタン距離の二種類がある。・ユークリッド距離:二点間の最短距離 ・マンハッタン距離:座標軸に平行にのみ移動できる場合の最短距離以下のサイトで二種類の距離について詳しく解説されています L1距離(マンハ…

Javaプログラミング関連のウェブサイト

僕がよく参考にさせてもらっている、初心者がJavaプログラミングをするときに助けになるであろうウェブサイトへのリンクをまとめたものです。・コレクション(List,Map,Set) Javaコレクションクラスメモ(Hishidama's Java Collection Memo) ・正規表現 正規…

substringの範囲

いまいち分かりにくい、substringの範囲について。 例えば次のプログラム。 import java.util.*; public class Main { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { String s = "abcde"; System.out.println(s.su…

memo

いつかは記事にしたい競プロ関係のアルゴリズムとかjavaの文法とかの備忘録です。 自分用です。 【メソッド・アルゴリズム】 ・二点間の距離(ユークリッド距離とマンハッタン距離) ・LinkedHashMapを上手く使えば、山札から一枚を一番上に持ってくる動作と…

大文字と小文字を逆転させるメソッド

英語アルファベットのみで構成される文字列の、大文字と小文字を逆転させるメソッド。 static String CaseReverse (String s) { StringBuilder sb = new StringBuilder(); for (int i=0; i

階乗を求めるメソッド

再帰関数を用いて階乗を求めるメソッド。 static long Factorial (int i) { if (i == 1) {return 1;} else {return i*Factorial(i-1);} } i=3のとき、 ・Factorial(3) = return 3*Factorial(2) ・Factorial(2) = return 2*Factorial(1) ・Factorial(1) = ret…

素数判定メソッド

値が素数かどうか判定するメソッド。 static boolean IsPrime(int n) { if (n < 2) return false; else if (n == 2) return true; else if (n%2 == 0) return false; double sqrtNum = Math.sqrt(n); for (int i=3; i<=sqrtNum; i+=2) { if (n%i == 0) {retu…

最大公約数・最小公倍数を求めるメソッド

ユークリッドの互除法を用いて、 二つの値の最大公約数および最小公倍数を求めるメソッド。 //最大公約数gcd static int gcd (int a, int b) { int temp; while((temp = a%b)!=0) { a = b; b = temp; } return b; } //最小公倍数lcm static int lcm (int a, …

回文判定メソッド

文字列が回文かどうか判定するためのメソッド。 static boolean isPalindrome (String s) { int n = s.length(); for (int i=0; i