下面的代码是检查执行相同解决方案的三种不同方式的性能.
public static void Main(string[] args)
{
// for loop
{
Stopwatch sw = Stopwatch.StartNew();
int accumulator = 0;
for (int i = 1; i <= 100000000; ++i)
{
accumulator += i;
}
sw.Stop();
Console.WriteLine("time = {0}; result = {1}", sw.ElapsedMilliseconds, accumulator);
}
//Enumerable.Range
{
Stopwatch sw = Stopwatch.StartNew();
var ret = Enumerable.Range(1, 100000000).Aggregate(0, (accumulator, n) => accumulator + n);
sw.Stop();
Console.WriteLine("time = {0}; result = {1}", sw.ElapsedMilliseconds, ret);
}
//self-made IEnumerable<int>
{
Stopwatch sw = Stopwatch.StartNew();
var ret = …Run Code Online (Sandbox Code Playgroud) 在HTML文档中选择文本时,可以从一个DOM元素开始到另一个元素,可能在途中传递其他几个元素.使用DOM API,可以获取所有选定DOM元素的选择范围,选定文本甚至父元素(使用基于使用的浏览器的commonAncestorContainer或parentElement()).但是,我无法知道除了获取包含所有文本的单个父元素之外,还可以列出包含所选文本元素的所有元素.使用父节点并遍历子节点将不会这样做,因为可能有其他兄弟节点未在此父节点内选择.
那么,是否有一种方法可以获得包含所选文本的所有这些元素.我主要感兴趣的是获取块元素(p,h1,h2,h3,...等),但我相信如果有办法获取所有元素,那么我可以通过它们并过滤它们来得到我想.我欢迎任何想法和建议.
谢谢.
在ruby中,给定两个日期范围,我想要表示两个日期范围的交集的范围,或者如果没有交叉则为零.例如:
(Date.new(2011,1,1)..Date.new(2011,1,15)) & (Date.new(2011,1,10)..Date.new(2011,2,15))
=> Mon, 10 Jan 2011..Sat, 15 Jan 2011
Run Code Online (Sandbox Code Playgroud)
编辑:应该说我希望它也适用于DateTime,所以间隔可以缩短到分钟和秒:
(DateTime.new(2011,1,1,22,45)..Date.new(2011,2,15)) & (Date.new(2011,1,1)..Date.new(2011,2,15))
=> Sat, 01 Jan 2011 22:45:00 +0000..Tue, 15 Feb 2011
Run Code Online (Sandbox Code Playgroud) 我通过论坛阅读了如何解决我的问题的线索,但是没有任何相关的线程可用于我,具有有限的编程知识,适用于我的具体问题.
我的问题是:我需要摆脱整个文件中聚集的垃圾行,但是在可用行集群之间.我搜索了有关删除匹配模式的范围的sed手册和其他信息来源,但他们只提到删除UNTIL匹配模式,而不是TILL.
现在我想指定一个范围,sed从第一行开始删除与模式行匹配的行,直到与其他模式匹配的行.此外,sed需要识别行末的模式.
例如:
line 1
blah blah 1
blah blah 2
blah blah 3
blah blah 4
line 2
line 3
Run Code Online (Sandbox Code Playgroud)
结果需要是:
line 1
blah blah 1
line 2
line 3
Run Code Online (Sandbox Code Playgroud)
请注意线和线2之间的多条线.虽然需要保留blah blah 1,但需要删除其他3条线.
谢谢!
我有一个n行和3列的数据帧
df <- data.frame(start=c(178,400,983,1932,33653),
end=c(5025,5025, 5535, 6918, 38197),
group=c(1,1,2,2,3))
df
start end group
1 178 5025 1
2 400 5025 1
3 983 5535 2
4 1932 6918 2
5 33653 38197 3
Run Code Online (Sandbox Code Playgroud)
我想创建一个新列df$group2,重新分类重叠的组是相同的.例如,df$group[df$group==1]从178开始并在5025结束.这与df$group[df$group==2]从983开始并在6918结束重叠.我想创建一个新列,现在将组1和2分类为组1(随后,组3作为组2).
结果:
df
start end group group2
1 178 5025 1 1
2 400 5025 1 1
3 983 5535 2 1
4 1932 6918 2 1
5 33653 38197 3 2
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
我试图按范围过滤弹性搜索中的_id字段(索引未启用).可能吗?如果是这样,怎么办?我在弹性搜索文档中读到,我们可以使用'id'来查询_id和类型,但我看不出如何使用范围过滤器.(我不想在_id上启用索引).
{
"from": 0,
"size": 20,
"query": {
"match_all": {}
},
"filter": {
"range": {
"_id": {
"gt": "51f7b6b7710c42b136027581"
}
}
},
"sort": {
"pubdate": {
"order": "desc"
}
}
}
Run Code Online (Sandbox Code Playgroud) 我见过这样的问题:
count the number of 0s between 0 and N?count the number of 1s between 0 and N?count the number of 2s between 0 and N?这些类型的问题与要求查找Ks (i.e. K=0,1,2,...,9)数字范围中显示的总数非常相似[0, N].
例:
K=2, N=3514 2s之间的列表[0,35]:2, 12, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32,注意22将被计为两次(22包含两个2s)每种方案都有解决方案(如果您搜索它,则可用).通常,O(log N)需要时间来通过递归地考虑最高位来解决这些问题,等等.计算0到N之间2的数量的一个例子可以通过以下过程解决(从这里借用):
// Take n = …Run Code Online (Sandbox Code Playgroud) 我想检查一个字符串是否只包含数字.我遇到了用Objective-C编写的这个答案.
NSRange range = [myTextField.text rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]];
if(range.location == NSNotFound) {
// then it is numeric only
}
Run Code Online (Sandbox Code Playgroud)
我尝试将其转换为Swift.
let range: NSRange = username.rangeOfCharacterFromSet(NSCharacterSet.letterCharacterSet())
Run Code Online (Sandbox Code Playgroud)
我遇到的第一个错误是我分配了类型NSRange.
无法转换表达式的类型'Range?' 输入'NSRange'
所以我删除了NSRange,错误就消失了.然后在if语句中,
let range = username.rangeOfCharacterFromSet(NSCharacterSet.letterCharacterSet())
if range.location == NSNotFound {
}
Run Code Online (Sandbox Code Playgroud)
我遇到了另一个错误.
'范围?' 没有名为'location'的成员
请注意,变量username的类型String不是NSString.所以我猜Swift使用它的新Range类型而不是NSRange.
问题我不知道如何使用这种新类型来实现这一目标.我也没有遇到过任何文档.
任何人都可以帮我把这个代码转换成Swift吗?
谢谢.
我有一个list:
L = ['a', 'b']
Run Code Online (Sandbox Code Playgroud)
我需要创建一个新的list通过串联原始list范围从去1到k.例:
k = 4
L1 = ['a1','b1', 'a2','b2','a3','b3','a4','b4']
Run Code Online (Sandbox Code Playgroud)
我尝试:
l1 = L * k
print l1
#['a', 'b', 'a', 'b', 'a', 'b', 'a', 'b']
l = [ [x] * 2 for x in range(1, k + 1) ]
print l
#[[1, 1], [2, 2], [3, 3], [4, 4]]
l2 = [item for sublist in l for item in sublist]
print l2
#[1, 1, 2, 2, …Run Code Online (Sandbox Code Playgroud) 从pd.date_range('2016-01', '2016-05', freq='M', ).strftime('%Y-%m')上个月开始2016-04,但我期待它2016-05.在我看来,这个函数的行为与range方法类似,其中end参数不包含在返回数组中.
有没有办法在返回的数组中包含结束月份,而不处理结束月份的字符串?
range ×10
python ×2
algorithm ×1
c# ×1
counting ×1
data.table ×1
dataframe ×1
date ×1
datetime ×1
dom ×1
enumerable ×1
filter ×1
html ×1
ienumerable ×1
ios ×1
ios8 ×1
javascript ×1
list ×1
nsrange ×1
numbers ×1
overlap ×1
pandas ×1
performance ×1
python-2.7 ×1
r ×1
ruby ×1
sed ×1
selection ×1
string ×1
swift ×1