我有一些关于事件循环如何工作的文章。我的问题是是否有某种方法可以访问当前计划执行的函数队列。只是为了好玩。
作为我正在解决的一个更大问题的一部分,我很好奇是否可以在线性时间内完成
{a_0, a_1, ..., a_n-1}
Run Code Online (Sandbox Code Playgroud)
生成映射
f(i,j): sum of elements over range [i,j) for all i,j in {0, 1, ..., n - 1}
Run Code Online (Sandbox Code Playgroud)
例如
{ 5, 1, 89, 0 }
---->
f(0,1) = 5
f(0,2) = 5 + 1 = 6
f(0,3) = 5 + 1 + 89 = 95
f(0,4) = 5 + 1 + 89 + 0 = 95
f(1,2) = 1
f(1,3) = 1 + 89 = 90
f(1,4) = 1 + 89 + 0 …Run Code Online (Sandbox Code Playgroud) 我想要做的就是像迭代这样的东西
IEnumerable<int> ids = items.Select(item => item.Id);
Run Code Online (Sandbox Code Playgroud)
是的 0 1 5 7
然后我要选择2,因为这是最小数i的范围[0, 7+1],使得i-1在列表中,而i不是.如果0不在列表中,则会0被选中.
什么是最紧凑,高效,可读,最花哨,最LINQiest的方法?
如果我需要更彻底的解释,请告诉我.