所以我试图解决https://leetcode.com/problems/3sum/ 但我不明白我应该在 **return_column_sizes 变量中传递给他们什么以及如何做到这一点,以便他们开始接受我返回的答案。
PS:我知道我的答案只是反驳! **我想了解他们想从我这里收到的return_column_sizes中的值是什么,之后我可以自己编写算法。这就是为什么我只做了三个三元组 [0,1,2] [3,4,5] [6,7,8] 并试图用它们来回答,但 Leetcode 编译器根本不理解我的答案
来自 Leetcode 的描述: /**
这是我的代码:
int** dynamic_array_alloc(size_t N, size_t M)
{
int **A = (int **)malloc(N*sizeof(int *));
for (int i=0; i<N; i++)
{
A[i] = (int *)malloc(M*sizeof(int));
}
return A;
}
void dynamic_array_print(int **A, size_t N, size_t M)
{
for (int i=0; i<N; i++)
{
printf("A[%d] = %p\t", i, A[i]);
for (int j=0; j<M; j++)
printf("%*d", 5, A[i][j]);
printf("\n");
}
printf("\n");
}
int** threeSum(
int* nums, int numsSize,
int* return_size, int** return_column_sizes
)
{
int **result = dynamic_array_alloc(3, 3);
int k=0;
*return_size=3;
*return_column_sizes=*result;
for (int i=0; i<3; i++)
for (int j=0; j<3; j++) result[i][j]=k++;
dynamic_array_print(result, 3, 3);
return result;
}
将
*return_column_sizes
的每个元素设置为3。
*return_size = 3;
*return_column_sizes = malloc(*return_size * sizeof *return_column_sizes);
for (int i = 0; i < *return_size; i++) (*return_column_sizes)[i] = 3;