Cal*_*res 6 c# linq optimization query-optimization
我有项目euler问题243的linq查询:
var y = from n in factors
from m in factors where m != n
select n * m;
Run Code Online (Sandbox Code Playgroud)
问题是,对于素数因子2和3,它产生y = {6,6},其中它只需要{6}.
有没有办法在不多次调用y.Distinct()或y.Contains()的情况下执行此操作?
我还想过使用两个foreach循环,但问题是 - 我不能使用索引,所以它只是麻烦和笨拙.
正如Rick Sladkey所说,改变
from m in factors where m != n
Run Code Online (Sandbox Code Playgroud)
到
from m in factors where m < n
Run Code Online (Sandbox Code Playgroud)
无需使用即可产生正确的结果.Distinct()。
| 归档时间: |
|
| 查看次数: |
458 次 |
| 最近记录: |