蓝桥杯——修改数组

2023-11-08

【问题描述】

给定一个长度为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数组。

【源代码】

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int num[100000];
int length;
void fun(int num[]){
	int *flag = (int *)malloc(sizeof(int)*1000000);//哈希表 
	memset(flag,0,sizeof(int)*1000000);//清空表 
	int length;
	int no_zero;
	printf("                     修改数字                   \n");
	printf("                                                \n");
	printf("请输入数组长度:");
	scanf("%d",&length); 
	printf("请输入数组中的值:") ; 
	for(int i = 0;i < length;i++){
		scanf("%d",&num[i]);
	}
	for(int i = 0;i < length;i++){
		flag[num[i]]++;//更新表中元素即数字出现的次数 
		if(flag[num[i]]>1){//更新数组 查找表中最近没有出现的元素,no_zero表示最近没有出现的数 
			for(no_zero = 1;flag[no_zero]!=0;no_zero++){
			;
			}
			num[i]=no_zero;
			flag[num[i]]++;//更新表中元素即数字出现的次数 
		}
	}
	printf("最终数组为:");
	for(int i = 0;i<length;i++){
		printf("%d ",num[i]);
	}
	printf("\n");

	 
}
int main(){
	fun(num);
	return 0;
}

【运行结果】

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝桥杯——修改数组 的相关文章

随机推荐

  • Java全排列算法练习

    题目 素数就是不能再进行等分的数 比如 2 3 5 7 112 3 5 7 11 等 9 3 39 3 3 说明它可以3等分 因而不是素数 我们国家在 19491949 年建国 如果只给你 1 9 4 91 9 4 9 这 44 个数字卡片
  • 电脑文件&软件搬家迁移十大工具

    10 大适用于 Windows 的数据迁移软件 数据迁移至关重要 几乎所有组织都依赖于此 如果您认为数据传输不是一件容易的事 那么数据迁移软件可以帮上忙 1 奇客电脑迁移 将现有操作系统 软件 文件迁移到 新电脑的最佳方法之一是使用名为奇客
  • Unity---委托与事件

    目录 1 委托和事件在使用上的区别是什么 2 delegate委托 2 1示意图 2 2 DelegetTest cs 2 3 Deleget A cs 2 4 Deleget B cs 2 5 运行unity 点击按键 A 2 6 点击按
  • 《k8s-1.13版本源码分析》- 调度器设计

    本文原始地址 https farmer hutao github io k8s source code analysis core scheduler desigh html github项目地址 https github com farm
  • docker 安装elasticsearch以及kibana

    1 安装elasticsearch 1 1 拉取镜像 执行下面的命令将es的镜像拉取到本地 docker pull docker elastic co elasticsearch elasticsearch 6 5 0 1 2 启动容器 没
  • ➹使用webpack配置多页面应用(MPA)

    使用webpack配置MPA 为什么需要使用 webpack 构建多页应用呢 因为某些项目使用 SPA 不太合适 大多是 SEO 的原因 或者您在做项目时有其他的需求 如果你有如下需求 使用 ES6 进行开发 期望使用面向对象开发 clas
  • java 文件备注_JAVA 文档注释

    JAVA文档注释 一JAVA注释类型 Java注释分为三类 1单行注释 2多行注释 3文档注释 单行注释多行注释 主要用于代码辅助性的说明便于理解代码的逻辑 文档注释 主要用生成API文档 二文档注释类型 文档注释紧挨类方法属性前面放置否则
  • Kyligence Zen产品体验——一站式指标平台泰酷辣~

    文章目录 一 前言 二 为什么需要指标化平台 三 什么是Kyligence Zen 四 Kyligence Zen新特性 五 Kyligence Zen注册篇 六 Kyligence Zen体验篇 七 Kyligence Zen实战篇 7
  • 安卓百度地图开发(三)在定位图层获取指南针角度

    在官方文档中没有给出获取角度的方法 这里使用了安卓自带的传感器获取指南针角度 首先定义传感器和角度 private SensorManager mSensorManager double degree 0 在oncreate方法中初始化传感
  • Xmind使用技巧

    新建图表 根据需求 可新建为空白图表或模板图表 空白图 模板 提高工作效率 其中因果分析 鱼普 图 SWOT分析 比较与对比 读书笔记等常用 也可以新建空白图 改变鱼头的左右方向 相比就是样式没有模板的那么丰富
  • 操作系统 请求分页存储管理

    目录 请求分页存储管理中的页表机制 缺页中断机构 地址转换 页置换算法 页分配和页置换策略 工作集及抖动现象的消除 请求分页存储管理的优缺点 请求分页存储管理中的页表机制 系统需要解决的问题 系统如何获知进程当前所需页面不在主存 当发现缺页
  • 记录一次FISCO BCOS的console启动失败的问题(create BcosSDK failed for the number of available peers is 0)

    记录一次FISCO BCOS的console启动失败的问题 报错 create BcosSDK failed for the number of available peers is 0 版本 FISCO BCOS v2 7 0 conso
  • 新多模态大模型霸榜!支持图文混合输入,不懂知识还能现学

    克雷西 发自 凹非寺量子位 公众号 QbitAI 多模态大模型家族 又有新成员了 不仅能将多张图像与文本结合分析 还能处理视频中的时空关系 这款免费开源的模型 在MMbench和MME榜单同时登顶 目前浮动排名也保持在前三位 MMBench
  • 物联网的应用场景

    随着物联网技术的不断发展和普及 它已经在各个领域展现出了巨大的潜力和前景 下面将会探讨物联网的应用前景 1 智能家居 智能家居是物联网技术最广泛应用的领域之一 通过智能家居设备 人们可以在任何时间 任何地点通过手机 平板电脑等设备远程控制家
  • 深度学习原理分析之数据不足与过拟合

    人们常常知道若干种解决过拟合的方法但不知其因 本文对其进行原理剖析 一个模型所能提供的信息一般来源于两个方面 一是训练数据中蕴含的信息 二是在模型的形成过程中 包括构造 学习 推理等 人们提供的先验信息 当训练数据不足时 说明模型从原始数据
  • Spring Boot官方例子《Developing Your First Spring Boot Application》无法运行

    官方的第一个例子就卡住了 https docs spring io spring boot docs current reference htmlsingle getting started first application 按照要求 一
  • 【消息队列】kafka consumer demo

    package consumer import org apache kafka clients consumer ConsumerConfig import org apache kafka clients consumer Consum
  • git常用命令及免密登录

    常用命令 git config global user name 用户名 设置用户签名 git config global user email 邮箱 设置用户签名 git init 初始化本地库 git status 查看本地库状态 gi
  • 多线程写图像文件的一点小测试(Boost + Gual)

    转载自 http blog csdn net liminlu0314 article details 7420484 在处理遥感图像中 发现往往比较耗时的是在数据的IO中 尤其是在O 写入 的时候更加耗时 GDAL可以支持图像的多线程写入
  • 蓝桥杯——修改数组

    问题描述 给定一个长度为N的数组A A1 A2 AN 数组中有可能有重复出现的整数 在小明要按以下方法将其修改为没有重复整数的数组 小明会依次修改A2 A3 AN 当修改Ai时 小明会检查Ai是否在A1 Ai 1中出现过 如果出现过 则小明