gpt4 book ai didi

c - 该数组如何初始化为零?

转载 作者:行者123 更新时间:2023-11-30 15:19:17 25 4
gpt4 key购买 nike

二进制 HashMap 在这里到底是如何工作的?例如,它如何仅将 binMap[elements in arr] 初始化为 1 而其余初始化为 0

#include <stdio.h>
#define MAX 100000

void printPairs(int arr[], int arr_size, int sum)
{
int i, temp;
bool binMap[MAX] = {0}; /*initialize hash map as 0*/

for(i = 0; i < arr_size; i++)
{
temp = sum - arr[i];
if(temp >= 0 && binMap[temp] == 1)
{
printf("Pair with given sum %d is (%d, %d) \n", sum, arr[i], temp);
}
binMap[arr[i]] = 1;
}
}

int main()
{
int A[] = {1, 4, 45, 6, 10, 8};
int n = 16;
int arr_size = 6;

printPairs(A, arr_size, n);

getchar();
return 0;
}

最佳答案

As in how does it initialise only binMap[elements in arr] to 1 and the rest to 0?

有了这个

bool binMap[MAX] = {0};

数组binMap数组中的每个元素都被初始化为0(实际上它只将binMap[0]设置为0 但由于 C 中的隐式初始化,其余元素一开始也设置为 0

然后在循环中,

binMap[arr[i]] = 1;

arr 的元素给出的索引设置为 1。例如,如果 arr[i]45binMap[45] 设置为 1

关于c - 该数组如何初始化为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30785746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com