gpt4 book ai didi

c# - 给定 C# 代码的正确数据结构是什么

转载 作者:行者123 更新时间:2023-11-28 01:54:59 24 4
gpt4 key购买 nike

以下是相等子集Number Partitioning问题。

我的目标是不仅要获得表明解决方案是否可行的 bool 结果(如上面链接所示),还要找到相关的子集。

以下是C++ solution (使用 Ideone),它使用一个数组,它的大小对于 C++ 是动态的,但是当我将它转换为 C# solution 时,我的挑战是使用正确的数据结构,因为 int[] 都不是, 也不是 List<int>可以达到相同的目的,正如在 C# solution Main 中看到的那样,我取一个数组大小的值并只填充第 n-2 个索引,但将第 n-1 个索引保留为默认值 0,否则它会导致 index out of range exception .

谁能建议一个更好的数据结构,使其与 C++ 程序相似且灵活

最佳答案

正如评论中所讨论的,您混淆的根源在于,您的 C++ 解决方案正在访问大小为 n 的数组中的索引 n,这导致未定义的行为(这次,它正在运行,没有报告任何错误)。

此外,您创建 C++ 数组的方式是 GCC 特定的语言扩展。

C++ 数组到 C# 的大多数 1:1 端口是(正如您已经发现的那样)

int solution[n]; // C++ language extension
int[] solution = new int[n]; // C#, cleanup is handled by GC

一旦您在原始解决方案中更正了索引问题,这将立即生效。

关于c# - 给定 C# 代码的正确数据结构是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41544637/

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