广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >c语言怎么找出数组中重复的数字
  • 366
分享到

c语言怎么找出数组中重复的数字

c语言 2023-10-26 05:10:11 366人浏览 薄情痞子
摘要

可以使用两种方法来找出数组中重复的数字。 方法一:使用“哈希表” 创建一个哈希表,用于记录每个数字出现的次数。 遍历数组,将数组中

可以使用两种方法来找出数组中重复的数字。

方法一:使用“哈希表”

  1. 创建一个哈希表,用于记录每个数字出现的次数。
  2. 遍历数组,将数组中的每个数字作为键,放入哈希表中,并将对应的值加1。
  3. 遍历哈希表,找出值大于1的键,即为重复的数字。

示例代码如下:

#include 

void findDuplicates(int arr[], int size) {
    // 哈希表
    int hashTable[1000] = {0};

    // 遍历数组,将数字放入哈希表
    for (int i = 0; i < size; i++) {
        hashTable[arr[i]] += 1;
    }

    // 遍历哈希表,找出重复的数字
    for (int i = 0; i < 1000; i++) {
        if (hashTable[i] > 1) {
            printf("%d ", i);
        }
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 4, 5, 6, 6, 7};
    int size = sizeof(arr) / sizeof(arr[0]);

    printf("重复的数字为:");
    findDuplicates(arr, size);

    return 0;
}

方法二:使用“交换法”

  1. 遍历数组,将数组中的每个数字放到对应的索引位置上。
  2. 如果当前索引位置上已经有了相同的数字,则找到了一个重复的数字。

示例代码如下:

#include 
#include 

void findDuplicates(int arr[], int size) {
    printf("重复的数字为:");

    for (int i = 0; i < size; i++) {
        while (arr[i] != i) {
            if (arr[i] == arr[arr[i]]) {
                printf("%d ", arr[i]);
                break;
            }

            int temp = arr[arr[i]];
            arr[arr[i]] = arr[i];
            arr[i] = temp;
        }
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 4, 5, 6, 6, 7};
    int size = sizeof(arr) / sizeof(arr[0]);

    findDuplicates(arr, size);

    return 0;
}

以上两种方法都可以找出数组中重复的数字,选择哪种方法取决于具体的需求和数据规模。

--结束END--

本文标题: c语言怎么找出数组中重复的数字

本文链接: https://www.lsjlt.com/news/450721.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c语言怎么找出数组中重复的数字
    可以使用两种方法来找出数组中重复的数字。 方法一:使用“哈希表” 创建一个哈希表,用于记录每个数字出现的次数。 遍历数组,将数组中...
    99+
    2023-10-26
    c语言
  • Python不修改数组怎么找出重复的数字
    这篇“Python不修改数组怎么找出重复的数字”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python不修改数组怎么找出重...
    99+
    2023-06-30
  • java如何找出数组中的不重复数字
    找出数组中不重复的一个数字,题目大致是这样的:int[] a = { 1, 2, 3, 4, 3, 2, 1 };在线视频教程推荐:java在线学习解决办法是:public static int getNoRepeat() { int[]...
    99+
    2018-07-23
    java 数组 不重复 数字
  • C语言怎么去掉数组重复值
    可以使用两层循环来遍历数组,比较每两个元素是否相同,如果相同则将其中一个元素删除。以下是一个示例代码:```c#include vo...
    99+
    2023-09-26
    C语言
  • c语言怎么输出数字
    在C语言中,可以使用printf函数来输出数字。具体的方法如下:1. 输出整数型数字:```cint num = 10;printf...
    99+
    2023-08-16
    c语言
  • LeetCode中怎么输出数组中重复的数字
    LeetCode中怎么输出数组中重复的数字,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。题目:数组中重复的数字在一个长度为 n 的数组 n...
    99+
    2022-10-19
  • JavaScript怎么找出数组中的重复或非重复元素
    本文小编为大家详细介绍“JavaScript怎么找出数组中的重复或非重复元素”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript怎么找出数组中的重复或非重复元素”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-06-29
  • Python面试不修改数组找出重复的数字
    目录数组中重复的数字不修改数组找出重复的数字思路思路一:哈希表思路二:二分法测试总结数组中重复的数字 在上一篇博客中剑指Offer之面试题3: 数组中重复的数字中,其实能发现这类题目...
    99+
    2022-11-11
  • C语言怎么解决无重复数字问题
    这篇文章主要介绍了C语言怎么解决无重复数字问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言怎么解决无重复数字问题文章都会有所收获,下面我们一起来看看吧。题目:有1、2、3、4个数字,能组成多少个互不相同...
    99+
    2023-06-17
  • 关于C++数组中重复的数字
    目录1、题目描述1.1 方法一:排序1.2 方法二:哈希表1.3 方法三:数组位置交换2、题目升级2.1 方法一:哈希表2.2 方法二:辅助数组2.3 方法三:二分查找1、题目描述 ...
    99+
    2022-11-12
  • c语言怎么找出十个数的最大值
    可以定义一个变量来保存最大值,然后遍历这十个数,比较每个数和当前最大值,如果当前数大于最大值,则更新最大值。下面是一个示例代码:``...
    99+
    2023-08-09
    c语言
  • php中怎么找出数组中重复率最高的值
    php中怎么找出数组中重复率最高的值,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们来看看下面一个例子。<phpheader("Content...
    99+
    2023-06-20
  • c语言怎么清空字符数组
    C语言中清空字符数组可以使用以下几种方式:1. 使用循环遍历数组,将每个元素设置为空字符'\0'。```c#include int ...
    99+
    2023-09-29
    c语言
  • sql怎么找出重复的数据
    要找出重复的数据,可以使用SQL语句中的GROUP BY和HAVING子句。 下面是一个示例,假设有一个名为employee...
    99+
    2023-10-22
    sql
  • C语言中组成不重复的三位数问题
    目录C语言组成不重复的三位数(1)通用思路(2)排除思路打印1234组成的不重复三位数C语言组成不重复的三位数 对于这个问题,我有两种解决思路 第一种较为简单第二种较为复杂 (1)通...
    99+
    2022-11-16
    C语言不重复三位数 组成不重复三位数 不重复三位数C语言
  • c语言怎么将数组逆序输出
    可以通过循环的方式将数组逆序输出。具体步骤如下:1. 定义一个长度与原数组相同的新数组,用于存储逆序后的结果。2. 使用一个循环,从...
    99+
    2023-08-31
    c语言
  • c语言怎么在数组中查找指定元素
    在C语言中,可以使用循环结构来在数组中查找指定元素。以下是一个示例代码:```c#include int main() {int a...
    99+
    2023-10-10
    c语言
  • c语言字符串数组怎么赋值
    在C语言中,字符串数组的赋值可以通过以下几种方式实现:1. 使用字符串常量直接赋值:```cchar str[] = "Hello,...
    99+
    2023-08-09
    c语言
  • C语言字符串数组怎么定义
    在C语言中,可以使用字符数组来表示字符串。字符串数组的定义方式有两种:1. 使用字符数组:可以通过声明一个字符数组来定义字符串数组。...
    99+
    2023-09-29
    C语言
  • 寻找数组的中心下标-C语言/Java
    描述         数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有...
    99+
    2023-09-06
    c语言 开发语言 java 算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作