BEC4237 2022-12-12 13:40 采纳率: 66.7%
浏览 16
已结题

数组#C++ 算法 力扣

感觉自己想的哈希表没问题可是调试的时候会出现执行错误

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。
输入:nums = [1,2,3,1]
输出:true

输入:nums = [1,2,3,4]
输出:false

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
vector<int>hs(nums.size(),0);
for(int i=0;i<nums.size();i++)
{
    hs[nums[i]]++;//哈希表对应元素++;
}
for(int i=0;i<hs.size();i++)
{
    if(hs[i]>=2)
    {
        return true;   //哈希的元素有出现两次及两次以上返回true 
    }
}
return false;
    }
};

  • 写回答

1条回答 默认 最新

  • Minuw 2022-12-12 13:57
    关注

    第7行越界,
    因为你把hs大小固定为num数组大小
    如果num=[1,2,3,4];
    hs大小为4
    下标不能到4

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

    报告相同问题?

    问题事件

    • 系统已结题 12月20日
    • 已采纳回答 12月12日
    • 创建了问题 12月12日

    悬赏问题

    • ¥15 MYSQL 订单的商品明细重复计算问题
    • ¥15 微信实时共享位置修改
    • ¥100 TG的session协议号转成直登号号后客户端登录几分钟后自动退出设备
    • ¥30 共模反馈回路的小信号增益
    • ¥15 arduino ssd1306函数与tone函数放歌代码不兼容问题
    • ¥70 0.96版本hbase的row_key里含有双引号,无法deleteall
    • ¥15 诊断性META分析合并效能的检验
    • ¥15 请问abb根据色块判断奇偶数并根据批次号放入仓储
    • ¥66 开发PC客户端一定也要开发上位机吗?
    • ¥20 Java eclipse连接数据库