当前位置: 首页 > article >正文

ZT15 小红的区间查询

描述

小红拿到了一个仅由正整数组成的数组,她有以下两种操作:

1. 输入1 i x,代表将第i个正整数修改为x。
2. 输入2 i x,代表查询前i个正整数有多少个数等于x。

输入描述:

第一行输入两个正整数n和q,代表数组长度和操作次数。
第二行输入n个正整数ai​,代表初始的数组。
接下来的q行,每行输入三个正整数op,i,x,用空格隔开,其中op代表操作的类型,i和x的含义见题目描述。
1≤n,q,ai​,x≤200
1≤op≤2
1≤i≤n
保证至少有1次询问操作。

输出描述:

对于每次询问,输出一个整数,代表查询的结果。

示例1

输入:

5 3
1 2 3 4 5
2 3 1
1 1 2
2 3 1

输出:

1
0

说明:

第一次为查询操作,此时数组为[1,2,3,4,5],前三个数中有一个1。
第二次为修改操作,将数组修改为[2,2,3,4,5]。
第三次为查询操作,此时数组为[2,2,3,4,5],前三个数中没有1。
一、问题分析

首先读题,仔细看描述中的内容,发现需求是

1.有一个数组

2.可以对数组进行两种操作

3.第一种操作是将i位置的值修改为x

4.第二种操作是查询前i个位置中值等于x的数字有多少

5.输出查询结果

二、解题思路

1.首先读取数据

2.根据操作符号不同,对数组进行相关的操作

三、具体步骤

使用的语言是C

#include <stdio.h>
#include <stdlib.h>
int main() {
    int n, q;
    if (scanf("%d %d", &n, &q) != EOF) {
        // printf("n is %d q is %d\n", n, q);
        int* a = (int*)malloc(sizeof(int) * n);
        for(int i = 0; i < n; i++) {
            scanf("%d", &a[i]);
        }
        int op, i ,x;
        for(int time = 0; time < q; time++) {
            scanf("%d %d %d", &op, &i, &x);
            // printf("%d %d %d\n", op, i, x);
            if(op == 1) { // 代表是修改操作
                a[i - 1] = x;
            } else if(op == 2) { // 查询操作
                int count = 0;
                for(int j = 0; j < i; j++) {
                    if(a[j] == x) count++;
                }
                printf("%d\n", count);
            } else {
                printf("error2");
            }
        }
        free(a);
    } else {
        printf("error");
    }
    return 0;
}


http://www.kler.cn/a/563895.html

相关文章:

  • FastAPI系列:Ubuntu部署FastAPI项目实战
  • 【MySQL篇】表的操作
  • Vue.js组件开发:从基础到进阶
  • Burp Suite Professional 2024版本安装激活指南
  • 算法系列之递归反转单链表
  • 四款 AI 协作办公工具,AI工具库革新办公效率
  • 2025年软考报名费用是多少?全国费用汇总!
  • Hive从入门到运用
  • win11本地部署deepseek大模型(安装ollama+docker+open-webui)最终实现自己的项目可通过API调用投喂数据后的模型
  • 关于order by的sql注入实验
  • 若依框架集成阿里云OSS
  • ElasticSearch13-8.x操作
  • MySQL(面试题 - 同类型归纳面试题)
  • Linux 常用命令大全及详解
  • 性能测试丨微信小程序性能优化指南
  • DeepSeek掘金——蒸馏DeepSeek-R1到自己的模型
  • VMware虚拟机Mac版安装Win10系统
  • 仿12306购票系统(3)
  • CF 90A.Cableway(Java实现)
  • python接入串口数据