我有一个有趣的问题,我似乎无法找出lambda表达式来使这个工作.
我有以下代码:
List<string[]> list = GetSomeData(); // Returns large number of string[]'s
List<string[]> list2 = GetSomeData2(); // similar data, but smaller subset
List<string[]> newList = list.FindAll(predicate(string[] line){
return (???);
});
Run Code Online (Sandbox Code Playgroud)
我想只返回列表中的那些记录,其中每个字符串[]的元素0等于list2中的元素0之一.
list包含这样的数据:
"000", "Data", "more data", "etc..."
Run Code Online (Sandbox Code Playgroud)
list2包含这样的数据:
"000", "different data", "even more different data"
Run Code Online (Sandbox Code Playgroud)
从根本上说,我可以像这样编写这样的代码:
List<string[]> newList = new List<string[]>();
foreach(var e in list)
{
foreach(var e2 in list2)
{
if (e[0] == e2[0])
newList.Add(e);
}
}
return newList;
Run Code Online (Sandbox Code Playgroud)
但是,我正在尝试使用泛型和lambda,所以我正在寻找一个很好的清洁解决方案.这个让我很沮丧..也许是在查找内部查找?
编辑:Marc的回答让我尝试了一个看起来像这样的变形:
var z = list.Where(x => list2.Select(y => …Run Code Online (Sandbox Code Playgroud) 问题:我有两个重叠的2D形状,A和B,每个形状具有相同的像素数,但形状不同.形状的一些部分是重叠的,并且每个形状的一些部分不重叠.我的目标是将形状A中的所有非重叠像素移动到形状B中的非重叠像素.由于每个形状中的像素数相同,我应该能够找到1对1的映射像素.限制是我想找到最小化所有移动像素行进的总距离的映射.
蛮力:解决这个问题的蛮力方法显然是不可能的,因为我必须计算所有可能的映射的总距离,我认为有n个!(其中n是一个形状中的非重叠像素的数量)乘以计算映射中每对点的距离n的计算,给出总的O(n*n!)或类似的东西.
回溯:我能想到的唯一"更好"的解决方案是使用回溯,我会跟踪当前的最小值,在我评估某个映射的任何时候,如果我达到或超过该最小值,我继续下一个映射.即使这样做也不会比O(n!)更好.
有没有办法以合理的复杂性解决这个问题?
还要注意,简单地将一个点映射到它最接近的匹配邻居的"明显"方法并不总能产生最佳解决方案.
更简单的方法?:作为次要问题,如果不存在可行的解决方案,一种可能性可能是将每个非重叠部分划分为小区域,并映射这些区域,从而大大减少映射的数量.为了计算两个区域之间的距离,我将使用质心(该区域中像素位置的平均值).然而,这提出了我应该如何进行分区以获得接近最佳答案的问题.
任何想法都赞赏!!
我有一个存储在SQLite数据库中的日志文件,我想在git存储库中分发.
稍后我想将日志文件的更改自动与原始文件合并.
这会起作用吗?将自动二进制文件合并到SQLite文件中会更频繁地爆炸吗?
什么是复杂性:
int f4(int n)
{
int i, j, k=1, count = 0;
for(i = 0; i < n; i++)
{
k *= 3;
for(j = k; j; j /= 2)
count++;
}
return count;
}
Run Code Online (Sandbox Code Playgroud)
我知道它是O(n ^ 2)但你怎么计算这个?为什么不是n*log n?
我需要一个能退出js脚本的代码,就像PHP'exit'或'die'一样.(我知道它不是最好的编程实践,但我需要它).
我的文件中有以下重写规则.htaccess:
RewriteEngine on
RewriteRule ^news/([0-9]+)/?$ /?action=news&start=$1 [L]
RewriteRule ^man/([a-zA-Z0-9_]+)/?$ /?action=man&page=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)/?$ /?action=$1 [L]
Run Code Online (Sandbox Code Playgroud)
然后以a结束/?检查可选的尾部斜杠.这工作-这意味着我可以使用http://www.site.com/news/或http://www.site.com/news获得的news页面,这就是我想要的.问题是,虽然http://www.site.com/news/工作正常并且无声地重定向以及所有有趣的东西,但由于某种原因http://www.site.com/news明显被重定向http://www.site.com/news/?action=news.他们都提出了相同的网站,但出于某种原因,如果我不使用尾随斜线,URL会发生变化并且看起来很讨厌.
有什么想法吗?我的.hyaccess档案中没有其他规则.我也会指出http://www.site.com/news/0并且http://www.site.com/news/0/不会遇到同样的问题.他们两个都无形地重定向http://www.site.com/?action=news&start=0,这就是我想要的.这似乎只是第三条规则的问题.
如果它有帮助,该网站在SourceForge.net上.
有没有人知道是否有可用于.NET的无锁容器库?
最好的东西被证明比我们在.NET中使用的Synchronized包装器更有效.
我在.NET上发现了一些文章,但没有一篇文章指出任何速度基准测试,也没有激发他们对可靠性的信心.
谢谢
.net multithreading synchronization lock-free data-structures
我问自己在哪里使用逆向工程.我有兴趣学习它.但我不知道我是否可以/应该把它放在我的简历上.
我不希望我的新主管认为我是一个邪恶的黑客或其他东西.:)
受到"隐藏的......的特征"系列的启发,我很想知道你最喜欢的Django技巧或者你知道但鲜为人知但有用的功能.
我正在研究一个想法,我必须在JPG或PNG文件中识别行.PNG文件包含一个单值图表 - 一个x,y组合.例如,图形看起来像Y = mx + c.我想识别图中的线 - 如果我可以识别帧中像素的位置,我相信我可以找回用于绘制图形的值(x,y).这里的假设是 - 我知道比例即1像素= Y的单位?有人可以帮我编写一个代码,用于识别一个PNG文件中特定颜色的像素吗?
编辑
让我们举个例子来说清楚.假设我有一组数据值X和Y像这样 -
X = 1, Y = 10
X = 2, Y = 20
X = 3, Y = 30
X = 4, Y = 40
X = 5, Y = 50
X = 6, Y = 60
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果我使用jfreechart类型的图表工具并制作图表,它就像一条直线工具.
因此输入是数据集,输出是.PNG文件(使用jchart或jfreechart),其中包含Y值的这个折线图.
问题是 - 如果我们逆转流程,我们是否可以开发一个程序来获取PNG文件(包含图形)并返回数据集.
问题的上下文是 - 我想将PNG文件存储在我的应用程序中而不是原始数据集中.但鉴于PNG文件,我应该能够取回我的数据集.