是否可以用breakpoint
系列功能替换下面代码中的breakpoint
或以任何其他方式表示它以加快代码执行速度:
<div class="d-none d-md-block">Show on medium, and bigger, screen sizes</div>
<div class="d-md-none">Show on extra small and small screen sizes</div>
<div class="d-none d-md-block d-lg-none">Show on ONLY medium screen sizes</div>
<div class="d-none d-sm-block d-md-none d-xl-block">Show on ONLY small and extra large screen sizes</div>
编辑
示例输入(文本文件内容):
5 3
1 2 100
2 5 100
3 4 100
此处,输入的第一行包含2个以空格分隔的数字。第一个数字表示For loop
矩阵最初将包含5个零。第二个数字表示第一行之后有几行。在上面的代码中,它被视为Apply
。
下一行包含3个以空格分隔的数字。第一个是line = strsplit(textFileContent, " ")
for(i in 2:n){ #looping from 2nd line to nth line of an input txt file
a = as.numeric(line[[i]][1]) #starting index in a matrix
b = as.numeric(line[[i]][2]) #ending index in a matrix
k = as.numeric(line[[i]][3]) #a number
mat[1,a:b] = mat[1,a:b] + k
#mat is a matrix of 5 zeros.
#mat = [0, 0, 0, 0, 0].
#Each time a value (k) will be added to all the elements between starting and ending index
}
,第二个是mat
,第三个是n
。
N.B.:a、b、k、n和第一行的第一个数字的值可能会有所不同。
输出:
[100,200,200,200,100]
修改后的代码
a
在b
上方提供了示例输入,如下所示:
k
谢谢。
答案 0 :(得分:1)
好的,这是一个猜测,但是如果我正确地收到了您的请求和您的数据结构,则应该可以:
matadd<- function(line) {
a<-as.numeric(line[1])
b<-as.numeric(line[2])
k<-as.numeric(line[3])
mat[1,a:b]<<-mat[1,a:b]+k
}
# Create the matrix with all zeros
mat<-matrix(0,nrow=1,ncol=as.numeric(line[[1]][1]))
# sapply the function on rows 2 thru end of the list
sapply(line[2:(as.numeric(line[[1]][2])+1)],matadd)
实际上我可以只使用列表中的length
,想一想...
例如,对于line<-list(c(5,2),c(2,3,5),c(1,4,2))
,结果如下:
垫子
[,1] [,2] [,3] [,4] [,5] [1,] 2 7 7 2 0