大佬们帮帮我,为什么这个代码提交会RE,本地运行完全没有问题啊QAQ
查看原帖
大佬们帮帮我,为什么这个代码提交会RE,本地运行完全没有问题啊QAQ
616968
MiNakaMi_Yuki_楼主2021/11/14 18:47

如题。

谢谢大佬。

import java.util.Scanner;
import java.util.Arrays;
public class Algorithm_1_6 {
    public static int []array;
    // public static int []question;
    public static int []answer;
    public static int BinarySearch(int num) {
        int l = -1,r = array.length,m;
        while(l + 1 != r) {
            m = (l + r) >> 1;
            /*
            if(array[m] == num) return m + 1;
            else if(array[m] > num) r = m; // if middle element if bigger than target ,find it in left part
            else l = m;
             */
            if (array[m] < num) l = m;
            else r = m;
        }
        return array[l + 1] == num ? l + 2 : -1;
    }
    public static void main(String []args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int q = input.nextInt();
        int question;
        int k = 0;
        array = new int[n];
        answer = new int[q];
        for(int idx = 0;idx < n;idx += 1) {
            array[idx] = input.nextInt();
        }
        for(int idx = 0;idx < q;idx += 1) {
            question = input.nextInt();
            answer[k ++] = BinarySearch(question);
        }
        for(int idx = 0;idx < k;idx += 1) {
            System.out.print(answer[idx]);
            if(idx != k - 1) System.out.print(" ");
        }
        input.close();
    }
}

2021/11/14 18:47
加载中...