_Sinnan_ 2022-04-27 01:21 采纳率: 100%
浏览 105
已结题

P9625 xjoi 查找

现在有n个从小到大排好序的数。有Q次询问,每次问你第一个数字k排在第几个?若不存在则输出n+1。

输入格式:

第一行两个整数n,Q。

第二行n个整数,表示已经从小到大排完序的数。

接下来Q行,每行一个整数k。

输出格式:

共Q行,每行一个整数,表示询问的数所在的位置。

样例输入:

3 2

1 2 3

2

3

样例输出:

2

3

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Selftext {
public static void main(String[] args) {
Map<Integer,Integer> aList=new HashMap<>();
Scanner scanner = new Scanner(System.in);
String string = scanner.nextLine();
String[] strings = string.split(" ");
int[] value=new int[strings.length];
for (int i = 0; i < strings.length; i++) {
value[i]=Integer.parseInt(strings[i]);
aList.put(Integer.parseInt(strings[i]), i);
}
Arrays.sort(value);
int index=aList.size(),count=0;
for (int i = 0; i < aList.size()-1; i++) {
if (aList.get(value[i])>aList.get(value[i+1])) {
aList.put(value[i+1], index++);
count++;
}
}
System.out.println(count);
}
}

求转化为c++代码且使其ac

https://xjoi.net/problem/9265

展开全部

  • 写回答

1条回答 默认 最新

  • zhengzhisheng6 2022-04-28 08:05
    关注

    你就直接顺序查找就好了呀,没有输出n+1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    m0_73299997 2023-01-29 06:49

    能给代码吗?

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月5日
  • 已采纳回答 4月28日
  • 创建了问题 4月27日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部