首页 > 其他分享 >数据结构实验3

数据结构实验3

时间:2025-01-10 16:55:45浏览次数:1  
标签:int VALUE A1 Ai A2 实验 数组 数据结构

7-3 修改数组(蓝桥杯)
给定一个长度为 N 的数组 A=[A1,A2,⋅⋅⋅AN],数组中有可能有重复出现的整数。

现在小明要按以下方法将其修改为没有重复整数的数组。

小明会依次修改 A2,A3,⋅⋅⋅,AN。

当修改 Ai 时,小明会检查 Ai 是否在 A1∼Ai−1 中出现过。

如果出现过,则小明会给 Ai 加上 1;如果新的 Ai 仍在之前出现过,小明会持续给 Ai 加 1,直到 Ai 没有在 A1∼Ai−1 中出现过。

当 AN 也经过上述修改之后,显然 A 数组中就没有重复的整数了。

现在给定初始的 A 数组,请你计算出最终的 A 数组。

输入格式:
第一行包含一个整数 N。

第二行包含 N 个整数 A1,A2,⋅⋅⋅,AN。


代码:
`#include<stdlib.h>

define MAX_VALUE 1000000

void updateArray(int A,int N){
int
seen=(int*)calloc(MAX_VALUE+1,sizeof(int));

for(int i=0;i<N;i++){
    while(seen[A[i]]){
        A[i]++;
    }
    seen[A[i]]=1;
}
free(seen);

}

int main(){
int N;
scanf("%d",&N);

if(N<1||N>MAX_VALUE){
    printf("error\n");
    return 0;
}

int* A=(int*)malloc(N * sizeof(int));
for(int i=0;i<N;i++){
    scanf("%d",&A[i]);
    if(A[i]<1||A[i]>MAX_VALUE){
        printf("error\n");
            free(A);
        return 0;
    }
}

updateArray(A,N);

for(int i=0;i<N;i++){
    printf("%d",A[i]);
    if(i<N){
        printf(" ");
    }
}
printf("\n");

free(A);
return 0;

}`

其中,1≤N≤105,1≤Ai​≤106。若输入数据不合理,则输出:error

输出格式:
输出 N 个整数,依次是最终的 A1,A2,⋅⋅⋅,AN。

输入样例:
在这里给出一组输入。例如:

5
2 1 1 3 4
输出样例:
在这里给出相应的输出。例如:

2 1 3 4 5

标签:int,VALUE,A1,Ai,A2,实验,数组,数据结构
From: https://www.cnblogs.com/LiuHuWei/p/18664251

相关文章

  • 数据结构实验四
    石家庄铁道大学实验报告课程名称:信2305-3 任课教师:刘丹 实验日期:2024.12.15班级:信2305-3 姓名:徐戌 学号:20234316实验项目名称:实验四一、 实验目的1)掌握图的邻接矩......
  • 数据结构实验4
    7-2栈实现表达式求值使用键盘输入数学表达式(含数字,四种运算符+、-、、/和小括号,其中运算数都是一位数(0~9)),将数学表达式转化成后缀表达式输出,利用后缀表达式求表达式的值并输出。输入格式:输入正确的表达式(可以有空格)后回车,得到后缀表达式和结果。输入括号缺失的表达式,输出"ERR......
  • 数据结构实验六
    石家庄铁道大学实验报告课程名称:数据结构与算法设计 任课教师:刘丹 实验日期:2024.12.15班级:信2305-3 姓名:徐戌 学号:20234316实验项目名称:实验六一、 实验目的1.掌握插入排......
  • 【西南科技大学计算机学院、智能计算与系统结构实验室主办 | ACM独立出版 | 往届均已
    ACM独立出版|往届均已成功检索,最快刊后1个月内实现EI检索征稿主题范围广:计算机网络安全、软件工程、信号处理、程序分析等领域主办单位:西南科技大学计算机学院、智能计算与系统结构实验室第五届计算机网络安全与软件工程国际学术会议(CNSSE2025)20255thInternational......
  • 数据结构(红黑树)
    问题的起源学习一个知识模块,一般先要厘清学习的目的,一个技术分支的出现必然是应对某个具体问题而产生的解决方案,搞清楚了问题的起源,对解决问题的思路就有了根本性的理解,来龙去脉把握清楚了学习起来就既有动力又有目标了。回归到红黑树的问题,红黑树其实也是一种平衡树,之前......
  • JSP开放实验室预约管理系统2118f--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着教育和科研的不断发展,实验室资源的有效管理和开放共享成为重要议题。传统的人工管理方式存在效率低、资源浪费等问题,无法满......
  • 数据结构全书简答题汇总(期末、考研)三万多字
    第一章:绪论-灰灰考研汇总1.数据:数据是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并 被计算机程序处理的符号的集合。2.数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。3.数据项:数据项是数据结构中讨论的最小单位。 是数据......
  • 从上千份大厂面经呕心沥血整理:大厂高频手撕面试题(数据结构和算法篇 ,C++实现亲试可跑)
    目录 怎么判断两个链表是否相交?怎么优化?(字节跳动、货拉拉)手撕冒泡排序(美团)手撕快速排序(作业帮)手撕堆排序(美团)手撕归并排序(美团)手撕二分查找(VIVO)字符串的全排列(要求去重)(字节跳动)求一个字符串中最长不重复子串的长度(字节跳动) 反转字符串的单词:如何在原字符串上翻转......
  • 数据结构真难
    在期末周算是被数据结构狠狠折磨了,当然自己在之前在数据结构方面的学习还存在着欠缺,自己往后得多加上心,总的来说呢,数据结构是一门具有一定难度的课程,在复习过程中难免会遇到各种困难和挫折,如复杂的算法理解、难以调试的代码等。但是,只要保持克服困难的毅力和决心,不断地尝试和探索,......
  • [数据结构学习笔记10] 哈希表(Hashtable)
    哈希表也叫Hashmap或者Dictionary,它存储和检索都非常快,所以常用于缓存数据供后续快速访问。哈希函数,是这样的一个函数,你提供一个input,它会返回一个唯一的值(hashcode)。只要你的input是相同的,这个哈希函数会返回同样的output。从哈希函数到哈希表哈希表底层是一个数组结构,这意味......