- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下一组数字 10、17、5、7、15。从这些数字中,我需要找到总和小于或等于 35 的所有可能的 3 个数字组合。在一个这样的组合中,特定数字不应包含超过一次。
例如: 10 ,10 ,5 是错误的组合,因为 10 重复了两次。
我试过这段代码,但它没有给出我需要的。
library(data.table)
df=expand.grid(x1=c(10,17,5,7,15),
x2=c(10,17,5,7,15),
x3=c(10,17,5,7,15)
)
setDT(df)
df[(x1+x2+x3) <= 35]
x1 x2 x3
1: 10 10 10
2: 5 10 10
3: 7 10 10
4: 15 10 10
5: 5 17 10
6: 7 17 10
7: 10 5 10
最佳答案
尝试以下操作,看看这是否是问题所要求的。
x <- c(10,17,5,7,15)
i <- combn(x, 3, sum) <= 35
combn(x, 3)[, i]
# [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#[1,] 10 10 10 10 10 17 5
#[2,] 17 17 5 5 7 5 7
#[3,] 5 7 7 15 15 7 15
f2
以下。
f1 <- function(x, n = 3, thres = 35){
i <- combn(x, n, sum) <= thres
combn(x, n)[, i]
}
f2 <- function(x, n = 3, thres = 35){
cmb <- combn(x, n)
cmb[, colSums(cmb) <= thres]
}
res <- f2(x)
apply(res, 2, function(y){
all(y[-1] != y[1])
})
#[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE
identical(f1(x), f2(x))
#[1] TRUE
microbenchmark::microbenchmark(f1 = f1(x),
f2 = f2(x))
#Unit: microseconds
# expr min lq mean median uq max neval cld
# f1 105.150 107.383 110.66616 108.6535 109.896 238.899 100 b
# f2 62.779 65.568 67.65754 66.4290 67.145 122.119 100 a
关于r - 使用 R 找到总和小于给定数字的所有可能的 3 个数字组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57442572/
降本手段一招鲜,增效方法吃遍天; 01 互联网行业里; 降本策略千奇百怪,手段却出奇一致;增效方法五花八门,手段更是花里胡哨; 对于企业来说;
有什么方法可以使用 angularjs 中的部分进行代码分组吗? 原因 --- 我的 Controller 包含太多代码。该 Controller 包含了多个方法和大量功能的代码,降低了代码的可读性。
不幸的是,我的数据库的数据模型必须改变,所以我正在寻找最轻松的方式来迁移我的数据。 此时情况如何: create table cargo{ id serial primary key, per
在 QTextEdit 对象中,假设我想知道字符在鼠标光标下的位置。 我会写... void MyQTextEditObject::mousePressEvent(QMouseEvent* mouse
是否可以在 C++ 中返回一个 return 语句或做一些具有类似功能的事情? 例如,如果代码中有几个函数将指针作为输入,并且每个函数都检查指针是否为 nullptr,这将很方便。如果它是一个 nul
我的 PC 上有一个控制台应用程序,它是 signalR 服务器。 我有一个 html 页面,它是互联网上的 signalR 客户端。但我尝试连接服务器,但我有一个错误的请求 400 错误。如果服务器
我想将应用程序作为后台进程运行。当点击应用程序图标时,它不会显示任何 View ,只会启动后台进程。 最佳答案 对于 iOS 这是不可能的,但是对于 android,react native 有 he
我知道有(昂贵的)框架可以让你在 VS C# 中编写 android 应用程序并将其编译为 android apk。 我也知道,可以在 VS 中编写 Java 应用程序(link)。 是否有可能,甚至
我在做: can :manage, :all if user.role == 'admin' can :approve, Anuncio do |anuncio| anuncio.try(:apr
我是一名优秀的程序员,十分优秀!