21行代码AC_ 试题H: 修改数组【解题报告】
励志用更少的代码做更高效的表达
题目描述
给定一个长度为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(1<=N<=100000)
第二行包含N个整数A1,A2,…,AN(1<=Ai<=1000000)输出
输出N个整数,依次是最终的A1,A2,…,AN样例输入
5
2 1 1 3 4样例输出
2 1 3 4 5
用常规的数组暴力解法大概能得80%的分。
也可以用并查集来解。只要实现其查找功能即可
代码展示
#include<bits/stdc++.h>
using namespace std;//并查集
int f[1000001];
int getf(int x) {if (x == f[x])return x;return f[x] = f[getf(f[x])];
}int main() {for (int i=1;i<1000001;i++)f[i] = i;int n, t;cin >> n;while (n--){cin >> t;t = getf(t);cout << t;f[t] = getf(t + 1);if (n >= 1)cout << " ";}
return 0; }
21行代码AC_ 试题H: 修改数组【解题报告】相关推荐
- 22行代码AC_试题 历届试题 油漆面积【解题报告】
励志用更少的代码做更高效的表达 X星球的一批考古机器人正在一片废墟上考古. 该区域的地面坚硬如石.平整如镜. 管理人员为方便,建立了标准的直角坐标系. 每个机器人都各有特长.身怀绝技.它们感兴趣的内容 ...
- 26行代码AC_试题 历届试题 日期问题 | 第八届蓝桥杯B组第七题
问题描述 小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的, ...
- 21行代码AC_标题 Excel地址 2017年蓝桥杯真题(解题报告+通法)
励志用更少的代码做更高效的表达 题目描述 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, B ...
- 21行代码AC_【蓝桥杯】承压计算(解题通法+技巧)
励志用更少的代码做更高效的表达 问题描述 X星球的高科技实验室中整齐地堆放着某批珍贵金属原料. 每块金属原料的外形.尺寸完全一致,但重量不同. 金属材料被严格地堆放成金字塔形. 7 5 8 7 ...
- 15行代码AC_ 【蓝桥杯】兴趣小组(解题报告+思考)
励志用更少的代码做更高效的表达 问题描述: 为丰富同学们的业余文化生活,某高校学生会创办了3个兴趣小组 (以下称A组,B组,C组). 每个小组的学生名单分别在[A.txt],[B.txt]和[C.tx ...
- 18行代码AC_排序 HDU - 1106(sstream简单解法)
励志用少的代码做高效表达. Problem describe 输入一行数字,如果我们把这行数字中的'5'都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以'0'开头,这些头部的'0'应 ...
- 21行代码AC——习题5-1 代码对齐(Alignment of Code, UVa1593)——解题报告
题意: 输入若干行代码,要求各列单词的左边界对齐且尽量靠左,单词之间至少要空一格,每个单词不超过80个字符,每行不超过180个字符,一共最多1000行. 思路: 1.输入内容存入二维数组 2.找出每列 ...
- 真香!8 行代码搞定最大子数组和问题
作者 | 码农的荒岛求生 来源 | 码农的荒岛求生 今天给大家带来一道极其经典的题目,叫做最大和子数组,给定一个数组,找到其中的一个连续子数组,其和最大. 示例: 输入: nums = [-2,1,- ...
- 24行代码AC_蓝桥杯2019省赛 试题 D: 数的分解
问题描述 把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包 含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法,例如 1000+10 ...
最新文章
- 不会自动化UI测试?不会编程?没问题,会造句就行!
- C语言实用算法系列之DOS传参“加减乘除计算器”
- Microsoft Visual Studio 无法启动程序“路径啪啦啪啦“. 系统找不到指定的文件。
- js match函数注意
- 淘宝分布式NOSQL框架:Tair
- 通过OAuth方式与docker hub v2 API交互
- C/C++ 取整函数
- cartographer原理简述
- matlab 读取tiff文件
- linux ap中继模式,小米AIoT AX3600 WiFi 6有线中继模式(AP模式)自定义局域网LAN IP地址...
- 2022搜狐校园算法大赛推荐赛道Rank2方案分享
- 给跪了!见过最高逼格的项目总结报告!
- 影响Google Adsense广告单价高低的因素分析获取更高的收入
- 【微信小程序】实现简单轮播图效果
- u盘数据恢复,教你轻松搞定!
- 百度想成为伟大的金融科技公司?太迟了
- ICPR 2020 | 论文阅读 ——SyNet: An Ensemble Network for Object Detection in UAV Images
- leetcode报错:member access within null pointer of type struct ListNode
- 2023网盘扩容技术
- 单选按钮、复选框、下拉框的回显