【手把手带你刷好题】—— 55.数组去重(牛客)
【摘要】
【前言】
今天是刷题打卡第55天!
一起加油鸭铁汁们,哈哈,实在是词穷了。
原题:序列中整数去重
原题链接:序列中整数去重_牛客题霸_牛客网
题目描述:
示例:
输入:5
10 12 93 12 75
输出:10 12 93 75
思路 :
...
【前言】
今天是刷题打卡第55天!
一起加油鸭铁汁们,哈哈,实在是词穷了。
原题:序列中整数去重
原题链接:序列中整数去重_牛客题霸_牛客网
题目描述:
示例:
输入:5
10 12 93 12 75
输出:10 12 93 75
思路 :
比较简单,都在代码注释后面咯。
代码执行:
#include<stdio.h>
int main()
{
int n = 0;
scanf("%d",&n);
int arr[5001] = {0};
int index = 0;//数组中的数
for(int i = 0; i < n; i++)
{
scanf("%d",&index);//依次输入
if(!arr[index])//如果输入的数不是0
{
arr[index] = index;//这样写,可以保留数组中的相同数的一个
printf("%d ", arr[index]);
}
}
return 0;
}
改编:给定一个正整数数组,对它进行去重操作。
代码如下:
#include<stdio.h>
int main()
{
int arr[] = { 1,2,2,3,4,5,3,4,6,7 };
int sz = sizeof(arr) / sizeof(arr[0]);
//两层循环遍历
for (int i = 0; i < sz; i++)
{
for (int j = i + 1; j < sz; j++)//只需要从后面那个元素开始比较
{
if (arr[j] == arr[i])
{
arr[j] = 0;
}
}
}
for (int i = 0; i < sz; i++)
{
if (arr[i])//打印不为0的数组元素
{
printf("%d ", arr[i]);
}
}
return 0;
}
结语
今天是刷题打卡第55天!
加油吧少年。
文章来源: bit-runout.blog.csdn.net,作者:安然无虞,版权归原作者所有,如需转载,请联系作者。
原文链接:bit-runout.blog.csdn.net/article/details/121911893
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)