给定 C# 代码的正确数据结构是什么
What's the correct data structure for given C# code
以下是相等子集数字分区问题。
我的目标不仅是获得提示解决方案是否可行的布尔结果(如上面的链接所示),而且还要找到相关的子集。
以下是C++解决方案(使用 Ideone),它使用数组,该数组的大小对于C++是动态的,但是当我将其转换为 C# 解决方案时,我面临的挑战是使用正确的数据结构,因为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++数据结构是什么
- 通常用于将输入映射到显示器的数据结构是什么
- A*开放集的最佳数据结构是什么
- C++中的地图数据结构是什么
- 可以处理随机访问和键搜索的数据结构是什么?
- C++ STL 堆栈中使用的基本数据结构是什么?
- 从中间删除元素的最佳数据结构是什么
- 设计PRIM算法最有效的数据结构是什么
- c++中顺序插入/读取/删除最快的数据结构是什么?
- 在我的神经网络程序中使用的最有效的数据结构是什么?我的程序需要动态分配吗?
- 当需要修改元素时,另一种类似集合的数据结构是什么?
- 搜索和更新整数值列表最快的数据结构是什么?
- 一般阶跃函数的最佳数据结构是什么?
- 池容器的最佳数据结构是什么?
- 构建图的最佳标准数据结构是什么?
- 插入和搜索元素最快的数据结构是什么