gpt4 book ai didi

arrays - 计数排列 - 将计数器存储在数组中

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:30:52 24 4
gpt4 key购买 nike

<分区>

输入:我有一些数组,例如:

1, 2, 3, 4, 5
2, 1, 3, 4, 5
3, 2, 5, 4, 1
5, 4, 3, 1, 2
.....

它们都是 5 位数字的非重复排列 - 5C5。行可以重复,但行中的任何数字都是唯一的。

目标:计算输入数据中每种类型(排列)的数组数量。

我的想法:5C5 表示只能有 120 个唯一行。所以我可以将计数器存储在 int[120] 数组中。并在读取输入时增加它们。

我的问题:是否有任何有效的算法将此数组转换(散列)为数组索引?

首选语言是 C,它具有指针和手动内存管理。完美的是,我正在尝试做类似的事情:

FILE *f;
int counters[120] = {0};
char seq[20];
parse_line(f, seq); #scans and parses string into array
counters[hash(seq)]++;

附言:通过解决“UVa 157 - Recycling”,我得到了这个问题的启发。后来看到解决方案,才明白是我误解了任务,但问题没有得到解答。

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