定义大小 (n*m) 的 2d 数组时运行时错误 >=10^6
Run time error while defining 2d array of size(n*m) >=10^6
这是对hackerrank上的问题的答案。下面给出的代码在我的PC中正常工作。但是,当我在hackrrank上在线运行时,它给了我" 运行时错误"。
最初,我认为这是由于2D阵列的大尺寸( l [] [] [] [] , sum [] [] )。因此,在阅读大型2D阵列后,它们使它们脱离功能,从而给出了分割故障。仍然在hackerrank上显示运行时间错误。
#include <stdio.h>
#include <string.h>
#include <bits/stdc++.h>
using namespace std;
#define MAX_VALUE 10000
// A utility function to get max of two integers
int max (int x, int y) { return (x > y)? x : y; }
int L[MAX_VALUE][MAX_VALUE]; // Create a table to store results of subproblems
int sum[MAX_VALUE][MAX_VALUE];
int lps(char *str,int n)
{
/*int n = strlen(str);*/
int i, j, cl;
// Strings of length 1 are palindrome of lentgh 1
for (i = 0; i < n; i++)
{L[i][i] = 1; }
for (i = 0; i < n; i++)
{
for (int j = 0; j < n; ++j)
sum[i][j]=0;
}
for (j=1; j<=n; j++)
{
for (i=j-1; i>=0; i--)
{
if (str[i] == str[j] && i == j-1)
{L[i][j] = 2; sum[i][j] = 2*(int) str[i];}
else if (str[i] == str[j])
{L[i][j] = L[i+1][j-1] + 2; sum[i][j] = sum[i+1][j-1] + 2*(int)str[i]; }
else
{L[i][j] = max(L[i][j-1], L[i+1][j]); sum[i][j] = max(L[i][j-1], L[i+1][j]) == L[i][j-1]?sum[i][j-1]:sum[i+1][j];}
}
}
return sum[0][n-1];
}
int main()
{
char seq[MAX_VALUE];
int n; cin>>n;
for (int i = 0; i < n; ++i)
cin>>seq[i];
// int n = strlen(seq);
cout<<lps(seq,n);
return 0;
}
尝试此
int hourglassSum(vector<vector<int>> arr)
{
int r=6,c=6;
int i,j;
int sum;
int temp;
int max=-100;
for(i=0;i<r-2;i++)
{
for(j=0;j<c-2;j++)
{
sum=(arr[i][j]+arr[i][j+1]+arr[i][j+2])+(arr[i+1][j+1])+(arr[i+2][j]+arr[i+2][j+1]+arr[i+2][j+2]);
if(max<sum)
max=sum;
}
}
return max;
}
相关文章:
- 删除指向指针的指针是运行时错误吗
- c++中的指针和运行时错误
- 无法理解此 return 语句的功能,没有它就会发生运行时错误
- 在同一模拟中使用静脉和静脉_ inet内容时出现运行时错误
- 对单向链表进行排序时出现运行时错误
- 为什么此代码存在运行时错误?
- 你能解释一下什么运行时错误是如何解决它的吗?
- 为什么会出现 gettnig 运行时错误:加载类型为"_Bit_type"(stl_bvector.h) 的空指针?
- 为什么程序在 c++ 中迭代 emtpy 向量时会抛出运行时错误
- 运行时错误:引用绑定到类型为"int"的空指针
- 为什么当 vector 为空时会显示运行时错误?
- C++运行时错误与快速排序算法抛出堆栈转储错误
- 运行时错误:矢量下标超出范围:正在检查空集
- 分配给gslice_array会导致运行时错误
- cout 新创建的对象引发运行时错误
- C++在使用std::multimap时出现运行时错误的几率很小
- 运行时错误:引用绑定到类型"int"的未对齐地址0xbebebebebebebec6,这需要 4 个字节对齐 (stl_vector.h)
- 试图找出为什么我会收到运行时错误?
- 迭代二维矢量时发生运行时错误
- 调用 java 的回调() 时应用程序崩溃.由于 detatchThread 而获得运行时错误