如何在VB中从数组元素中得出所有可能的总和组合

2023-12-09

如果有一个数组,其中元素为:1,2,3,4,则程序应返回另一个数组,其中包含所有组合的总和:


1
2
3
4
3 (1+2)
4 (1+3) 
5 (1+4)
5 (2+3)
6 (2+4)
7 (3+4)
6 (1+2+3)
7 (1+2+4)
8 (1+3+4)
9 (2+3+4)
10 (1+2+3+4)  

这是我不久前编写的一个函数,用于生成给定数组的所有可能的子集。它是通用的,因此支持整数、双精度数、字符串等。

原始C#

public static List<T[]> CreateSubsets<T>(T[] originalArray)
{
    List<T[]> subsets = new List<T[]>();

    for (int i = 0; i < originalArray.Length; i++)
    {
        int subsetCount = subsets.Count;
        subsets.Add(new T[] { originalArray[i] });

        for (int j = 0; j < subsetCount; j++)
        {
            T[] newSubset = new T[subsets[j].Length + 1];
            subsets[j].CopyTo(newSubset, 0);
            newSubset[newSubset.Length - 1] = originalArray[i];
            subsets.Add(newSubset);
        }
    }

    return subsets;
}

还有我刚刚转换成VB的版本。

Function CreateSubsets(Of T)(ByVal originalArray() As T) As List(Of T())

    Dim subsets As New List(Of T())

    For i As Integer = 0 To originalArray.Length - 1

        Dim subsetCount As Integer = subsets.Count
        subsets.Add(New T() {originalArray(i)})

        For j As Integer = 0 To subsetCount - 1
            Dim newSubset(subsets(j).Length) As T
            subsets(j).CopyTo(newSubset, 0)
            newSubset(newSubset.Length - 1) = originalArray(i)
            subsets.Add(newSubset)
        Next

    Next

    Return subsets

End Function

可以这样食用

    Dim array() As Integer = {1, 2, 3, 4, 5}
    Dim subsets As List(Of Integer()) = CreateSubsets(array)

    For Each subset As Integer() In subsets

        Dim sum As Integer = subset.Sum()

    Next
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在VB中从数组元素中得出所有可能的总和组合 的相关文章

  • 如何在VB函数中添加可选参数/默认值参数?

    如何在 Visual Basic 中创建一个包含可选参数的方法 Use the Optional关键字并提供默认值 可选参数必须是最后定义的参数 以避免创建不明确的函数签名 Sub MyMethod ByVal Param1 As Stri
  • 在 Javascript 中减少/分组数组

    基于this https stackoverflow com a 40774906 3254598例如 我想以稍微不同的方式按对象进行分组 结果应该如下 key audi items make audi model r8 year 2012
  • vb6 中双精度计算的值不正确

    当在 vb6 中添加 2 个值时 我得到一些奇怪的行为 当在立即窗口中针对不同情况打印变量 sum 双精度型 时 如下所示 我得到的结果为 sum 0 sum 0 sum 0 sum 74 46 0 41 sum 74 87 sum 97
  • 从数组中检索均匀分布的元素数

    我知道如何提取数组中的每个第 n 项 但我遇到的困难如下 如何从 1800 个元素的数组中提取第 n 个项目 始终包括第一个和最后一个元素 总共最多 256 个元素 Example array 1 2 3 4 5 6 7 8 9 10 提取
  • php递归合并

    我需要以某种不同的方式合并一些数组 我使用 array merge recursive 然而 有一些事情我需要改变 但我不知道如何改变 这是来自 php net 的引用 但是 如果数组具有相同的数字键 则后面的值 不会覆盖原始值 但会追加
  • 在 C# 中何时使用 ArrayList 而不是 array[]?

    我经常使用一个ArrayList而不是 正常 array 当我使用时 我感觉好像我在作弊 或懒惰 ArrayList 什么时候可以使用ArrayList在数组上 数组是强类型的 并且可以很好地用作参数 如果您知道集合的长度并且它是固定的 则
  • 数据读取过程中遇到致命错误

    我正在进行定期更新表扫描 Using connect1 As New MySqlConnection ConnectLocalhost serverString connect1 Open Dim cmd New MySqlCommand
  • 将文本拆分为数组,同时保留 Swift 中的标点符号

    我想将文本拆分为一个数组 保持标点符号与其余单词分隔开 因此字符串如下 Hello I am Albert Einstein 应该变成这样的数组 Hello I am Albert Einstein 我尝试过sting components
  • xmlns 元素的顺序重要吗

    我不知道如何在 google 中搜索此内容 但是 xmlns 元素的问题在 XML 文件中重要吗 我正在 ASP NET VB 中使用 XMLWriter 创建一个 XML 文件 并且尝试匹配我提供的示例
  • 访问 UserDefault 数组 URL 以填充 CollectionView

    这是上一篇文章的后续内容here https stackoverflow com questions 48142238 save and append an array in userdefaults from imagepickercon
  • 将 2D 数组映射到 1D 数组

    我想用一维数组来表示一个二维数组 函数将传递两个索引 x y 和要存储的值 这两个索引代表一维数组的单个元素 并相应地设置它 我知道一维数组需要具有 arrayWidth arrayHeight 的大小 但我不知道如何设置每个元素 例如 如
  • SSRS 报告服务 - 字符串中的粗体字

    出版物 如何在字符串中加粗作者姓名 如果返回 1 个值 但它是一个字符串 情况会是这样的 iif Fields Author Value Parameters 5aAuthor Value Bold Normal 示例 作者 年份 标题 期
  • 从由空格分隔的单个输入整数列表创建二维数组

    我正在解决一些问题geeksforgeeks我遇到了一个特定的问题 其中在测试用例中提供了输入 如下所示 2 2 denotes row column of the matrix 1 0 0 0 all the elements of th
  • 使用 JSONArray 还是普通数组来存储/读取数据更有效?

    我正在使用一个连接到PHP MySQL返回所有内容的服务器JSON格式 例如 用户列表作为JSONArray of JSONObject 每个对象都包含单个用户的信息 姓名 位置 电话号码等 处理这种格式的信息时 将所有内容保留在其中会更有
  • 这应该被称为对象切片的某种特殊情况吗?

    假设我有课Derived派生自类Base然而sizeof Derived gt sizeof Base 现在 如果分配一个数组Derived像这样 Base myArray new Derived 42 然后尝试访问n第一个对象使用 doS
  • 合并两个ActiveRecord数组并按created_at排序

    books Book find all articles Articles find all 通过阅读来自http guides rubyonrails org layouts and rendering html http guides
  • 对使用“new”创建的数组上“map”的行为感到困惑[重复]

    这个问题在这里已经有答案了 我对结果感到困惑mapping 使用创建的数组new function returnsFourteen return 14 var a new Array 4 gt undefined x 4 in Chrome
  • 在 C 语言中,为什么数组的地址等于它的值?

    在下面的代码中 指针值和指针地址与预期不同 但数组值和地址则不然 怎么会这样 Output my array 0022FF00 my array 0022FF00 pointer to array 0022FF00 pointer to a
  • 2 使用我的代码在数组中查询

    我使用滑块来显示我的 WordPress 精选文章 它选择一个自定义类别并返回一定数量的帖子 如何将显示的第一篇帖子设为自定义帖子 我可以直接在滑块代码中添加特定帖子的 ID吗使该帖子首先出现 然后是原始查询返回的其他内容 例如 在页面上
  • Array.of 与“[ ]”。何时使用 Array.of 而不是“[ ]”?

    当我发现时我正在读一些书Array of https developer mozilla org en docs Web JavaScript Reference Global Objects Array of 根据 MDN Array o

随机推荐

  • 使用 php 在 csv 文件中添加 2 个新列标题和内容

    我有一个包含以下值的现有 csv 文件 column1 column2 Fr fc Fr sc Sr fc Sr sc 我想在其中添加 2 个新列并实现以下格式 column1 column2 column3 column4 Fr fc F
  • Pytesseract:“TesseractNotFound 错误:tesseract 未安装或不在您的路径中”,如何解决此问题?

    我正在尝试在 python 中运行一个基本且非常简单的代码 from PIL import Image import pytesseract im Image open sample1 jpg text pytesseract image
  • Powershell - 获取 ADComputer -properties 成员

    我试图查找我们环境中是否有任何服务器尚未应用于特定组 我有一个组列表 我们使用这些组在特定的白天 晚上 手动等修补我们的 Windows 服务器 我正在尝试检查我们环境中的任何服务器是否错误地放置在域中并错过了此步骤 没有有一个补丁组成员
  • java.lang.OutOfMemoryError:启动时Java堆空间

    前几天我开始遇到一个java lang OutOfMemoryError Java heap spaceMATLAB 启动时出现异常 在运行任何代码或向路径添加任何内容之前 MATLAB 加载的默认目录中也没有文件 我在 Windows 7
  • 在 C# 中使用 Microsoft Graph API 获取所有电子邮件

    我有以下函数来使用 Graph API 获取消息 var client new GraphServiceClient authenticationProvider var messages await client Users use em
  • 找不到中间过滤器的组合

    我正在使用 Visual Studio 制作一个 Windows 窗体应用程序 该应用程序允许您输入照片的名称 然后将该图像保存到网络上的特定位置 当我在笔记本电脑上使用它时 效果非常好 但是 当我尝试在桌面上运行它时 它不起作用 相反 我
  • 定义结构时避免“重新定义 typedef”警告

    我定义了一些相互引用的结构 并在使用它们之前对结构进行类型定义 因此每个结构都 了解 其他结构 如果没有这个 就会出现编译错误 不确定这是否必要或正确 现在 当使用 gcc 编译时 我收到 redefinition of typedef 警
  • Javascript - 将字符串中的所有数字更改为下标

    我有一个输入框 用户在其中输入化学式 我将他们的输入显示在表格中 并在我的 javascript 文件中包含以下代码 document getElementById entered innerHTML userIn 其中 userIn 是输
  • 如何执行逐像素匹配来检查模板数据库中是否存在查询图像[重复]

    这个问题在这里已经有答案了 我正在研究手背静脉识别系统 我已经对图像进行了二值化和预处理 然后对细化的静脉图案进行特征提取 白色像素坐标 如下图 图 1 所示 对 10 个图像重复这些步骤 并将它们的坐标存储在 txt 文件中 现在 假设我
  • 如何使用 sendAsynchronousRequest:queue:completionHandler:

    两部分问题 第一部分 我正在尝试向我的数据库创建异步请求 我目前正在同步进行 但是我想学习这两种方法 以更好地理解正在发生的事情 目前我已经像这样设置了同步调用 IBAction setRequestString NSString stri
  • 在 .NET 中存储数据的方法

    我正在寻找在 NET 中的 Windows 窗体应用程序中存储数据的方法 我想让系统的输入数据持久化 因此当我关闭程序并再次打开它时 会检索数据 除了创建链接数据库之外 还有哪些方法可以实现此目的 我们很高兴地赞赏这些例子 有数十种不同的方
  • 尝试安装 HAXM 时出错 - Intel VT-x 已关闭

    我已经安装了 Android Studio 但在尝试安装 HAXM 时收到此错误 我尝试在BIOS中启用虚拟化 但并没有解决问题 然后我在 Windows 8 1 64 位 中禁用了 Hyper V 重新启动计算机后 没有任何变化 并且由于
  • 融合类型中的 C++ 类

    我希望为一堆 C 类实现 python 包装器 在 pxd 的某个地方我有 cdef cppclass FooImpl1 FooImpl1 int foo cdef cppclass FooImpl2 FooImpl2 int foo 我想
  • 在 EL 表达式中使用多个布尔条件

    我想知道如何在 EL 中组合多个布尔条件 我有以下示例 但它不起作用
  • 使用 JNI 访问我的共享库时出现“未定义的引用”

    我正在尝试构建一个版本Botan 加密算法库 使用 JNI 在 Android 上运行一些本机 C 程序 我已经使用 NDK 工具链 NDK R5b 成功创建了 libbotan so 没有任何错误 但是 当我从 Android 项目 示例
  • Select2 - 搜索通配符匹配项

    我正在使用 Select2 来设计我的选择框并添加功能 我想知道如何使搜索规则更加宽松 目前 如果我在下拉列表中有 新墨西哥 我可以搜索 墨西哥 或 新墨西哥 来匹配选择选项 但如果我输入 墨西哥新 我会得到 找不到结果 有没有办法扩展搜索
  • 使用 Meteor 动态加载每个模板的 JS/CSS

    我理解几个问题 即this 这种性质已经发布 但尚未找到可靠的解决方案 从表面上看 Meteor 目前缺乏动态加载 渲染不同 UI JavaScript 的能力 即uilang 或每个模板的 CSS 文件 在我的应用程序中 我的模板需要特定
  • Visual Studio 2005 和 .Net 框架 1.1

    是否可以使用 Visual Studio 2005 创建和维护 Net Framework 1 1 应用程序 实际上有一个 MSBuild 扩展允许这种情况 它被称为MSBee您可以在 CodePlex 上找到它 MSBuild Extra
  • Java和无符号字节[重复]

    这个问题在这里已经有答案了 我需要使用无符号字节数组 我需要通过网络将某些字符发送到服务器 其中一些字符大于 127 我有下面代码的简化版本来尝试理解这个概念 int i 160 byte j byte i System out print
  • 如何在VB中从数组元素中得出所有可能的总和组合

    如果有一个数组 其中元素为 1 2 3 4 则程序应返回另一个数组 其中包含所有组合的总和 1 2 3 4 3 1 2 4 1 3 5 1 4 5 2 3 6 2 4 7 3 4 6 1 2 3 7 1 2 4 8 1 3 4 9 2 3