paizaラーニングのレベルアップ問題集「線形探索メニュー」からの出典です。
paiza.jp
Javaによる「線形探索メニュー」問題集 【第 k 要素の探索】k番目に大きな値 と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 2番目に大きな値
/* Javaによる「線形探索メニュー」問題集 【第 k 要素の探索】k番目に大きな値 STEP: 1 2番目に大きな値 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] lis = new int[n]; for(int i = 0; i < n; i++){ int a = sc.nextInt(); lis[i] = a; } Arrays.sort(lis); for(int i = n; i >= n-2; i--){ if(i == n-2) System.out.println(lis[i]); } } }
・FINAL問題 【第 k 要素の探索】k番目に大きな値
/* Javaによる「線形探索メニュー」問題集 【第 k 要素の探索】k番目に大きな値 FINAL問題 【第 k 要素の探索】k番目に大きな値 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] lis = new int[n]; for(int i = 0; i < n; i++){ int a = sc.nextInt(); lis[i] = a; } int k = sc.nextInt(); Arrays.sort(lis); for(int i = n; i >= n-k; i--){ if(i == n-k) System.out.println(lis[i]); } } }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。