[白俊]#1920首検索
BOJ #1920
https://www.acmicpc.net/problem/1920
📃 質問する
N個の整数A[1]、A[2]、...、およびA[N]が与えられた場合、Xという整数が存在するか否かを判定するプログラムを作成してください.
📥 入力
第1行は自然数N(1≦N≦100000)を与える.次の行には、N個の整数A[1],A[2],...,A[N]が与えられる.次の行はM(1≦M≦100000)を与える.次の行はM個の数を与え、これらの数がAに存在するかどうかを見つければよい.すべての整数の範囲は、231未満の-231以上です.
📤 しゅつりょく
M行に答えを出力します.存在する場合は1を出力し、存在しない場合は0を出力します.
💡 に近づく
📍 コード#コード#
import java.util.Scanner;
import java.util.Arrays;
class Main {
public static void main(String args[]) throws Exception {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int a[] = new int[n];
for(int i = 0; i<n; i++ ) {
a[i] = sc.nextInt();
}
Arrays.sort(a);
int m = sc.nextInt();
int b[] = new int[m];
for (int i = 0; i<m; i++) {
b[i] = sc.nextInt();
System.out.println(binarySearch(a, b[i]));
}
sc.close();
}
private static int binarySearch(int[] a, int n) {
int first = 0;
int last = a.length -1;
int mid = 0;
while (first <= last) {
mid = (first + last) /2;
if (n == a[mid]) return 1;
else {
if (n < a[mid]) last = mid -1;
else first = mid + 1;
}
}
return 0;
}
}
难しくなく解けたルル~!Reference
この問題について([白俊]#1920首検索), 我々は、より多くの情報をここで見つけました https://velog.io/@cool_kim/백준-1920-수-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol