牛客网BC-125 序列中整数去重复(难题讲解)

题目如下


题目讲解(思路)


想要实现序列去重,最简单的办法就是让后来出现的重复的数字等于0,最后在输出时不输出0的数字即可,代码也很容易实现

代码如下

cpp 复制代码
#include<stdio.h>
int main()
{
    int x = 0;
    int arr[100];
    scanf("%d",&x);

    for(int i = 0;i<x;i++){
        scanf("%d",&arr[i]);
    }

    //让重复出现的等于0
    for(int i = 0;i<x;i++){
        for(int j = i+1;j<x;j++){
            if(arr[j]==arr[i]){
                arr[j] = 0;
            }
        }
    }
    //输出不为0的数字
    for(int i = 0;i<x;i++){
        if(arr[i]!=0){
            printf("%d ",arr[i]);
        }
    }
}

题目引申


我们可以在输出不为0的数组时,加上顺序输出数组或者逆序输出数组的代码

这样输出的数组就会更加清晰,分明

代码如下

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    int x = 0;
    int arr[100];
    scanf("%d", &x);

    for (int i = 0; i < x; i++) {
        scanf("%d", &arr[i]);
    }

    //让重复出现的等于0
    for (int i = 0; i < x; i++) {
        for (int j = i + 1; j < x; j++) {
            if (arr[j] == arr[i]) {
                arr[j] = 0;
            }
        }
    }

    //加上顺序排序
    for (int i = 0; i < x; i++) {
        for (int j = i+1; j < x; j++) {
            if (arr[i] >= arr[j]) {
                int k = arr[i];     
                arr[i] = arr[j];  //顺序排序
                arr[j] = k;
            }
        }
    }
    
    //输出不为0的数字
    for (int i = 0; i < x; i++) {
        if (arr[i] != 0) {
            printf("%d ", arr[i]);
        }
    }
    
}

创作不易,点点关注,感谢支持!!!

相关推荐
之歆10 分钟前
Python-封装和解构-set及操作-字典及操作-解析式生成器-内建函数迭代器-学习笔记
笔记·python·学习
mrbone1112 分钟前
Git-git worktree的使用
开发语言·c++·git·cmake·worktree·gitab
凌肖战21 分钟前
力扣网C语言编程题:快慢指针来解决 “寻找重复数”
c语言·算法·leetcode
浪裡遊23 分钟前
Sass详解:功能特性、常用方法与最佳实践
开发语言·前端·javascript·css·vue.js·rust·sass
真实的菜30 分钟前
JVM类加载系统详解:深入理解Java类的生命周期
java·开发语言·jvm
代码讲故事1 小时前
多种方法实现golang中实现对http的响应内容生成图片
开发语言·chrome·http·golang·图片·快照·截图
虾球xz1 小时前
CppCon 2018 学习:EFFECTIVE REPLACEMENT OF DYNAMIC POLYMORPHISM WITH std::variant
开发语言·c++·学习
Allen_LVyingbo2 小时前
Python常用医疗AI库以及案例解析(2025年版、上)
开发语言·人工智能·python·学习·健康医疗
小哈龙2 小时前
裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端
开发语言·git·bash
DKPT2 小时前
Java组合模式实现方式与测试方法
java·笔记·学习·设计模式·组合模式