![]() |
1
5
这是一个通用的、可重用的解决方案,而不是一个临时的、特定的解决方案。 (根据评论更新)
这些应该是你的Range类的一部分,所以可以这样命名:
如果您没有这些方法,那么您必须像这样调用它:
|
![]() |
2
2
我想看看是否有一个解决方案更优化的性能。 编辑:我假设输入列表已排序。 如果不是这样,我建议先对它进行排序,而不是试图将其放入算法中。排序仅限于( n 日志 n ),但如果你想把它摆弄进去,你很容易得到( n
作为旁白, |
![]() |
3
1
还有一个:
您可以直接使用它:
但是如果你有很多项,那么效率会很低,因为复杂性是O(n)。但是,由于只能合并同一类别中的项,因此可以按类别对它们进行分组并合并每个组,然后展平结果:
|
![]() |
4
0
假设列表已排序,并且范围不重叠,如您在问题中所述,这将在O(n)时间内运行:
这是假设您有一个
编辑: 这里有一个就地算法:
编辑:
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 3 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 3 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |