算法小记(二分)

题目描述:

输入 𝑛n 个不超过 109109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 𝑎1,𝑎2,…,𝑎𝑛a1​,a2​,…,an​,然后进行 𝑚m 次询问。对于每次询问,给出一个整数 𝑞q,要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出 −1−1 。

代码:

package lanqiao;

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[] num = new int[n + 1];
        for(int i = 1;i <= n;i ++)
        {
            num[i] = sc.nextInt();
        }

        while(m -- > 0)
        {
            int target = sc.nextInt();
            int left = 1;
            int right = n;
            //二分模板
            while(left < right)
            {
                int mid = (left + right)/2;
                if(num[mid] < target){
                    left = mid + 1;
                }
                else
                {
                    right = mid;
                }
            }

            if(num[left] == target)
            {
                System.out.print(left + " ");
            }else{
                System.out.print(-1 + " ");
            }
        }
    }
}

相关推荐

  1. 算法| ss

    2024-05-14 10:44:04       14 阅读
  2. 算法-

    2024-05-14 10:44:04       18 阅读
  3. 算法小记(二分)

    2024-05-14 10:44:04       11 阅读
  4. 算法刷题系列:(一)

    2024-05-14 10:44:04       44 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-14 10:44:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-14 10:44:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-14 10:44:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-14 10:44:04       18 阅读

热门阅读

  1. leetcode刷题

    2024-05-14 10:44:04       11 阅读
  2. 2024.5.14每日一题

    2024-05-14 10:44:04       11 阅读
  3. 富格林:梳理可信经验保障安全

    2024-05-14 10:44:04       12 阅读
  4. 深度学习之损失函数

    2024-05-14 10:44:04       10 阅读
  5. C#基础打印、输入、占位符

    2024-05-14 10:44:04       9 阅读