最近朋友提出的有趣问题:想象一下,你有一棵树中所有节点的List <NodeType>.您将如何从行根节点向下遍历树,以便您找到具有特定值的第一个节点.所以说每个节点都有3个属性:它的名称/位置,它的父节点的身份,以及谁"拥有"节点.问题是你想要找到树中你拥有的最高节点,无论它在哪个分支上.我理解基本逻辑,以找到第一组子项,查找父项设置为第一个节点的所有节点.但是,您将如何递归搜索List <>节点以找到您拥有的最高节点?
我有一个包含规则的makefile来构建系统,测试并运行它们.最后一项只需调用一个shell脚本即可执行.除此之外,这阻止了我并行运行测试.
我有以下变量:
TEST_SRC=$(wildcard tests/*.c)
TESTS=$(patsubst %.c,%,${TEST_SRC})
Run Code Online (Sandbox Code Playgroud)
并使用规则构建测试
$(TESTS): %: %.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
Run Code Online (Sandbox Code Playgroud)
有可能(如果是这样,如何?)创建一个规则"测试",当运行时,将执行$TESTS变量中的每个项目?
我刚开始学习C++,我遇到了这个新人: - >.我想知道它是否意味着与(.)或不同的东西,如果它有,它是什么.
你能回答吗?我找了一下,但我没有找到任何答案来回答我的问题.
有一段时间我在源文件中使用了tabstop = 4.现在我写了很多有深度缩进的javascript,一个4的tabstop似乎很浪费,所以我想把它转换为2.问题是我也使用"set expandtab".所以仅设置tabstop = 2,将无济于事.
关于如何将我的所有文件快速转换为tabstop 2的任何建议?
我目前相关的.vimrc设置是
set tabstop=4
set shiftwidth=4
set expandtab
Run Code Online (Sandbox Code Playgroud) 我有一个Flex应用程序(Web,而不是Air)用于大规模分发,可以像各种网站上的插件一样包含在内.
几年前,有人发布了Active State Recipes用于比较目的,三个python/NumPy函数; 每个都接受相同的参数并返回相同的结果,即距离矩阵.
其中两个来自公开来源; 它们都是 - 或者它们在我看来是 - 惯用的numpy代码.创建距离矩阵所需的重复计算由numpy优雅的索引语法驱动.这是其中之一:
from numpy.matlib import repmat, repeat
def calcDistanceMatrixFastEuclidean(points):
numPoints = len(points)
distMat = sqrt(sum((repmat(points, numPoints, 1) -
repeat(points, numPoints, axis=0))**2, axis=1))
return distMat.reshape((numPoints,numPoints))
Run Code Online (Sandbox Code Playgroud)
第三个使用单个循环创建了距离矩阵(显然,由于只有1,000个2D点的距离矩阵,有一百万个条目,因此很多循环).乍一看这个函数看起来像我在学习NumPy时编写的代码,我会编写NumPy代码,首先编写Python代码,然后逐行翻译.
在Active State帖子发布几个月之后,在NumPy邮件列表的一个帖子中发布并讨论了比较三者的性能测试结果.
事实上,循环函数明显优于其他两个函数:
from numpy import mat, zeros, newaxis
def calcDistanceMatrixFastEuclidean2(nDimPoints):
nDimPoints = array(nDimPoints)
n,m = nDimPoints.shape
delta = zeros((n,n),'d')
for d in xrange(m):
data = nDimPoints[:,d]
delta += (data - data[:,newaxis])**2
return sqrt(delta)
Run Code Online (Sandbox Code Playgroud)
线程中的一位参与者(Keir Mierle)提供了为什么这可能是真的:
我怀疑它会更快的原因是它具有更好的局部性,在移动到下一个工作集之前完全完成对相对较小的工作集的计算.一个衬垫必须重复地将潜在的大MxN阵列拉入处理器. …
我正在开发一个涉及使用cURL或file_get_contents获取页面的项目.问题是,当我尝试回显所提取的html时,输出似乎与原始页面不同,并非所有图像都显示出来.请问我想知道是否有解决方案.我的代码
<?php
//Get the url
$url = "http://www.google.com";
//Get the html of url
function get_data($url)
{
$ch = curl_init();
$timeout = 5;
//$userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.X.Y.Z Safari/525.13.";
$userAgent = "IE 7 – Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)";
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return …Run Code Online (Sandbox Code Playgroud) 我想从事件中重复代表重复的代表.所以我写了下面的代码.它工作正常.我的申请是一个时间批评的应用程序.是否有任何其他优化的mechansim实现相同.请帮我
public void FireEvent()
{
Dictionary<Delegate, Delegate> dic = new Dictionary<Delegate, Delegate>();
Delegate[] m = this.Paused.GetInvocationList();
foreach (Delegate d in m)
{
Delegate dout;
if (dic.TryGetValue(d, out dout))
{
continue;
}
else
{
dic.Add(d, d);
}
d.DynamicInvoke(new object[2] { this, null });
}
}
Run Code Online (Sandbox Code Playgroud) 在JIRA中,如何在所有项目中查找与用户相关的所有问题.简单的查询搜索仅产生全文结果.即只有提到名称的问题,而不是如果已经分配了名称,已报告,已经cc'd等.
我的目的是找到与我有关的股票会计门票...
我正在使用JIRA 3.13