LINQ(或伪代码)按邻近度对项目进行分组

2024-03-02

有谁能够启发我如何使用 LINQ (或者必要时更合适的东西)来创建一个整数列表列表,这些整数列表按彼此的接近程度进行分组。

基本上,我想创建组中的数字与任何其他数字在 5 以内。

所以,给定:

3 27 53 79 113 129 134 140 141 142 145 174 191 214 284 284

产生以下列表:

3 
27
53
79
113
129 134 
140 141 142 145
174
194
214
284 284

Thanks!


LINQ 不太擅长滚动求和等事情。一个简单的foreach循环在这里更好:

static IEnumerable<IEnumerable<int>> GroupByProximity(
    this IEnumerable<int> source, int threshold)
{
    var g = new List<int>();
    foreach (var x in source)
    {
        if ((g.Count != 0) && (x > g[0] + threshold))
        {
            yield return g;
            g = new List<int>();
        }
        g.Add(x);
    }
    yield return g;
}

Example:

var source = new int[]
{
    3, 27, 53, 79, 113, 129, 134, 140, 141, 142, 145, 174, 191, 214, 284, 284
};

foreach (var g in source.GroupByProximity(5))
{
    Console.WriteLine(string.Join(", ", g));
}

Output:



3
27
53
79
113
129, 134
140, 141, 142, 145
174
191
214
284, 284
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LINQ(或伪代码)按邻近度对项目进行分组 的相关文章

  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 如何区分用户点击链接和页面自动重定向?

    拥有 C WebBrowser control http msdn microsoft com en us library system windows forms webbrowser aspx在我的 WinForms 应用程序中 并意识
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • Azure API 管理服务中的静态 IP 地址

    我已经做了一些谷歌搜索 但无法得到确认的答案 Azure API 管理服务是否提供静态 IP 地址 如果没有 我该如何配置 我问的原因是因为我的本地服务器仅接受来自白名单 IP 地址的请求 因此我们需要来自 Azure API 管理的请求的
  • mingw 链接器找不到 PathAppend

    当我尝试编译以下内容时 include
  • 自定义设计EditText

    我有定制设计EditText 搜索页面 xml
  • 如何在 Redux 中处理两个连续且依赖的异步调用?

    我通过调用操作异步获取帖子列表fetchPosts从一个组件开始componentDidMount 我希望 一旦相关减速器 更新状态 收到并处理该请求 就调用另一个操作fetchPostsMetaData 包含刚刚收到的帖子 id 的数组
  • 像 Google Play 商店一样折叠工具栏

    我想实现一个像 google Play 商店一样的折叠工具栏 我已经实现了一些功能 但这仅适用于纵向屏幕 这是我能够执行的操作的屏幕截图示例 现在我想做的是 当我将设备方向更改为景观模式时 它应该看起来完全像这样 所以我的主要问题是如何处理
  • 如何处理大型 git 存储库?

    我目前正在使用 git 来构建大型存储库 大约 12 GB 每个分支的大小为 3 GB 该存储库包含大量二进制文件 音频和图像 问题是克隆和拉取可能需要很多时间 特别是 解决增量 步骤可能非常非常长 解决此类问题的最佳方法是什么 我尝试删除
  • 如何在javascript中检查异步加载的脚本是否已完成加载

    使用 javascript 异步下载另一个 javascript 文件 我知道这可以通过在页面上插入一个新的脚本标签来完成src属性设置为文件 url 脚本下载完成后 我还需要运行一些代码 我一直在使用yepnope http yepnop
  • 出现 gdbm 错误:(13,'权限被拒绝') — 尽管 posix 权限看起来没问题

    我正在 python 2 7 6 中使用 shelve 进行缓存计算 并且遇到了所描述的问题HERE https stackoverflow com q 35771816 4038337对于我制作并实施的搁置文件建议的解决方案 https
  • 无法启动模拟器。原因:当react-native run-android时,模拟器在React Native启动之前退出

    我正在根据这个网站安装React Nativehttps medium com leonardobrunolima react native tips setting up your development environment for
  • 在 XAML 绑定表达式中使用变量

    我正在构建一个可以编辑 POCO 的控件 POCO 中有一个需要编辑的字段的描述符集合 我正在绑定一个ListBox s ItemsSource到这个集合 除其他外 描述符使我能够选择合适的DataTemplate以及 POCO 中的变量名
  • 周期可调的PRNG

    我需要构建一个周期可调的就地伪随机数生成器 另外 在一段时间内不得发生碰撞 也就是说 以下内容必须返回 true prng is generated at run time though a by hand solution would w
  • 如何克服导航栏的影响

    在我的应用程序中 我想在转到上一个视图时隐藏导航栏 并且我在 viewwiilldisaapper 方法中隐藏导航栏 但效果仍然存在 意味着它在弹出时显示白屏 那么任何人都可以告诉我解决方案吗 谢谢大家 您需要使用隐藏该页面 viewWil
  • 滚动然后对齐到顶部

    只是想知道是否有人知道我如何重新创建我不久前看到的导航栏样式 我刚刚找到了我在上面看到的网站 但不确定他们是如何到达那里的 基本上希望它随页面滚动然后锁定到顶部 http lesscss org http lesscss org 只需快速
  • iOS 中 @property 的默认值是多少?

    iOS 中 property 的默认值是什么 例如 如果我声明 property NSString Photographer 是默认值 分配 还是 保留 还是其他什么 原子 非原子 我无法从文档中找到此信息 谢谢 我相信默认值是 atomi
  • sklearn.impute.IterativeImputer 的实现

    考虑data其中包含以下一些 nan Column 1 Column 2 Column 3 Column 4 Column 5 0 NaN 15 0 63 0 8 0 40 0 1 60 0 51 0 NaN 54 0 31 0 2 15
  • 相交并合并两个对象数组

    我有两个数组 var odd name 1 extraProp1 propValue1 name 3 extraProp1 propValue2 var even name 1 extraProp2 prop1 name 2 extraPr
  • Javascript 未捕获类型错误:.split 不是函数

    我想做一个功能 用户每天只能领取一次硬币 我做了这个功能 split这样它就只比较日期Date 仅比较日期和时间 但是 我收到了这个 JavaScript 错误 未捕获的 TypeError 中间值 split 不是函数 有人知道如何解决这
  • 如何在主目录上撤消 git init ?

    I did git init and git add 在我的主目录中 我认为这减慢了每个操作的速度 因为该目录太大了 我怎样才能撤消git init主目录的 你可以这样做rm rf HOME git删除 git 存储的所有版本控制信息 这会
  • Python:每月的第三个星期五

    我是一个菜鸟Python程序员 我需要编写一个脚本来检查给定日期 以 月 日 年 形式作为字符串传递 是否是该月的第三个星期五 我正在使用Python 2 7 例如 这些日期可以帮助您更好地理解我的问题 手头有一份年度日历 输入 gt 输出
  • LINQ(或伪代码)按邻近度对项目进行分组

    有谁能够启发我如何使用 LINQ 或者必要时更合适的东西 来创建一个整数列表列表 这些整数列表按彼此的接近程度进行分组 基本上 我想创建组中的数字与任何其他数字在 5 以内 所以 给定 3 27 53 79 113 129 134 140