提问者:小点点

运行时错误:引用绑定到类型为“int”的null指针


我正在解决Leetcode上的House Robber问题,我得到了一个“Runtime Error:reference binding to'int‘类型的null指针”。 为什么会出现这个错误?

我的代码:

  class Solution {
  public:
    int rob(vector<int>& a) {
        int n=a.size();
        vector<int> dp(n);
        for(int i=0;i<n;i++)
            dp.push_back(0);
        dp[0]=a[0]; dp[1]=a[1];
        int ans=0;
        for(int i=2;i<n;i++)
        {
            dp[i]+=dp[i-2]+a[i];
            ans=max(ans,dp[i]);
        }
            
        return ans;
    }
};

共1个答案

匿名用户

您需要小心输入大小。 dp[0]=a[0]; dp[1]=a[1];,假设输入的大小至少为2。

事实是否如此? 那就没问题了,否则程序就会像你描述的那样崩溃。

通常,对于这些Leetcode问题,您需要处理所有的角落情况。 也许您的解决方案适用于一般情况,但是您也应该考虑到恼人的输入(空列表,包含一个元素的列表,等等。。。)

相关问题