时月oe 2020-09-12 20:22 采纳率: 50%
浏览 65
已采纳

关于求集合的一个问题

图片说明

我先写一下我的代码:

#include <iostream>
using namespace std;
const int MAX = 1000000;
short shash[MAX] = {};
int main()
{
    int t = 0;
    while(t != -1)
    {
        cin >> t;
        shash[t] = 1;
    }
    t = 0;
    //如果hash表中数据为1,说明已经保存过了,此时将hash中的数据变为2
    while(t != -1)
    {
        cin >> t;
        if(shash[t])
        {
            shash[t] = 2;
        }
    }
    int flag = 0;
    for(int i = 0;i < MAX;i++)
    {
        if(shash[i] >= 2)          //判断,如果等于2,就输出数字
        {
            if(flag == 1)
                cout << " ";
            flag = 1;
            cout << i;
        }
    }
    if(flag == 0)cout << "NULL";
    return 0;
}

这道题目我没有采用链表,而是用普通数组作的,大致思路就是用散列表存储某个是否出现过,但是在PTA上的实际测试中,前五个数据都过了,但是最后一个数据(**大规模数据**)通过,显示**段错误**,请问是我的代码问题吗?

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-09-12 20:59
    关注

    输出下 shash[t 中t的最大值,看看是不是可能越界破坏了内存。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 12月28日

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c