当前位置: 首页 > 知识库问答 >
问题:

调试技巧 - LeetCode报错,为什么会执行错误?

邹时铭
2023-11-28

题目描述:
image.png
我的代码:

int* nextGreaterElement(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) {    int* res = (int*)malloc(nums1Size * sizeof(int)); // 为结果数组分配内存        int* hashmap = (int*)malloc(nums2Size * sizeof(int));        int* st = (int*)malloc(nums2Size * sizeof(int)); // 使用数组实现栈        int stTop = -1; // 栈顶指针的初始值为-1,表示栈为空        // 计算nums2中每个元素的"下一个更大元素"并保存到hashmap中        for (int i = nums2Size - 1; i >= 0; --i) {            int num = nums2[i];            while (stTop >= 0 && num >= st[stTop]) {                // 如果栈不为空且当前元素比栈顶元素大,则出栈                --stTop;            }            hashmap[num] = stTop < 0 ? -1 : st[stTop];            // 将当前元素入栈            st[++stTop] = num;        }        // 根据nums1中的元素在hashmap中查找对应的"下一个更大元素"        for (int i = 0; i < nums1Size; ++i) {            res[i] = hashmap[nums1[i]];        }    return res; // 返回结果数组的指针}

报的错误:
image.png

我的代码在VS 2022上可以运行,不知道错误原因在哪

共有1个答案

赫连永怡
2023-11-28

hashmap[num]: num 是数组里的数,它的范围会超过 hashmap 的长度。

 类似资料:
  • 问题内容: 您调试Python的最佳秘诀是什么? 请不要只列出特定的调试器而不必说出它实际上可以做什么。 问题答案: PDB 你可以使用pdb模块,将pdb.set_trace()其插入任何地方,它将用作断点。 要继续执行,请使用(或或)。 可以使用pdb执行任意Python表达式。例如,如果发现错误,则可以更正代码,然后键入一个类型表达式以在运行的代码中起到相同的作用 ipdb是用于IPytho

  • 题目地址 : https://leetcode.cn/problems/flatten-nested-list-iterator/ 为什么会出错呢?

  • 本文向大家介绍你平时是怎么调试js的?会断点调试吗?断点调试有什么技巧呢?相关面试题,主要包含被问及你平时是怎么调试js的?会断点调试吗?断点调试有什么技巧呢?时的应答技巧和注意事项,需要的朋友参考一下 jquery 时代还能通过绑定事件的元素找到相应代码,后来就哦豁了, 现在要么改代码书写 debugger 或者用 vscode 的调试方案。 F8 跳到下个断点,F10 跳到下一行, 到达一个方

  • 错误 C1001 内部编译器错误。 错误 E0065 应输入“;” 为什么会显示这种错误啊

  • vue2使用better sqlite3打开页面就报错 版本: better-sqlite3 8.3.0 nodejs 16.20.2 在src/api下创建了database.js代码: DB.db是我用SQLiteStudio在D盘手动创建的db文件 页面调用: 报错信息: 更换了better sqlite3版本还是一样

  • 错误:第 1 行的解析错误:函数搜索(sour ^ 期望“字符串”、“数字”、“空”、“真”、“假”、“{”、“[”,得到“未定义” 代码: