标签: combinatorics

最接近 x 卡路里类型的膳食计划算法

我有一个问题,我需要制定膳食计划

  • x 每天的用餐次数(例如 5)
  • x 计划中的膳食类型数量(例如 2 份早餐、2 份小吃和 1 份午餐)
  • 膳食计划中的卡路里数(例如 2000)
  • 不应该重复用餐

给定的数据是一个字典列表(超过 100,000 个单元),其结构如下:

{'title': 'Cannellini Bean and Asparagus Salad with Mushrooms', 'types': ['side dish', 'lunch', 'main course', 'salad', 'main dish', 'dinner'], 'calories': 482}
Run Code Online (Sandbox Code Playgroud)

算法的输出应该是最接近 x 卡路里的 x 餐及其相关膳食类型的列表。

我不知道从哪里开始解决这个问题,欢迎任何算法类型或实现。

python algorithm mathematical-optimization combinatorics

0
推荐指数
1
解决办法
425
查看次数

标准化表示(组合)项链的字符串

我试图通过查找它们的线性表示来匹配Python中符号的"项链",我使用普通字符串.例如,字符串"AABC","ABCA","BCAA","CAAB"都表示相同的项链(如图).

符号循环

为了得到一个概述,我只存储一个作为"代表"给定的项链相当于字符串.至于检查我是否存储了候选项链,我需要一个函数来规范任何给定的字符串表示.作为一种伪代码,我在Python中编写了一个函数:

import collections

def normalized(s):
    q = collections.deque(s)
    l = list()
    l.append(''.join(q))
    for i in range(len(s)-1):
        q.rotate(1)
        l.append(''.join(q))
    l.sort()
    return l[0]
Run Code Online (Sandbox Code Playgroud)

对于上面示例项链中的所有字符串表示,此函数返回"AABC",首先按字母顺序排列.

由于我对Python比较陌生,我想 - 如果我开始在Python中实现一个应用程序 - 这个函数对于生产代码来说已经"足够好"吗?换句话说:有经验的Python程序员会使用这个函数,还是有明显的缺陷?

python combinatorics string-comparison string-matching

-1
推荐指数
1
解决办法
386
查看次数

找出{1,2,...,N}的排列数,使序列首先增加然后减少?

例如,对于N = 3. 排列是:

[1,3,2]
[2,3,1]
Run Code Online (Sandbox Code Playgroud)

注意:[1,2,3]并且[3,2,1]在此处无效,因为[1,2,3]增加但不减少,反之亦然[3,2,1].

我在TCS CodeVita 2017中遇到了这个问题,他们甚至没有为此提供社论.

algorithm math counting combinatorics

-1
推荐指数
1
解决办法
268
查看次数

在 SQL 中生成所有可能的组合?

我有一个名称的成分表:

Name
________
Cheese
Beans
Potato
etc
Run Code Online (Sandbox Code Playgroud)

我想在列中显示这些值的所有可能组合,例如(奶酪,豆类)(奶酪,土豆),(豆类,土豆)等。这可能吗?

想要的结果

sql t-sql sql-server inner-join combinatorics

-1
推荐指数
1
解决办法
271
查看次数

使用Perl生成组合

我需要编写一个Perl例程,它将生成给定集合的n个选择k组合.我不需要计算有多少套,我必须能够打印出来.我很难过.

任何建议表示赞赏.

问候.

perl combinatorics

-2
推荐指数
1
解决办法
637
查看次数

Python中一组中3个数字的所有可能组合

我想打印集合中的3个数字的所有可能组合(0 ... n-1),而这些组合中的每一个都是唯一的.我通过这段代码得到变量n:

n = raw_input("Please enter n: ")
Run Code Online (Sandbox Code Playgroud)

但我坚持提出算法.有什么帮助吗?

python algorithm combinatorics

-3
推荐指数
1
解决办法
6741
查看次数

来自不同箱柜的所有可能的元素组合(每个箱柜中的一个元件)

我有一个列表,其中每个元素都是一组数字.所有组的长度都不同:

 a <- list(1,c(2,3),c(4,5,6))
#> a
#[[1]]
#[1] 1

#[[2]]
#[1] 2 3

#[[3]]
#[1] 4 5 6 
Run Code Online (Sandbox Code Playgroud)

我想得到每组中一个元素的所有可能组合.在这个例子中它应该是:

1 2 4,1 2 5,1 2 6,1 3 4,1 3 5,1 3 6

我觉得*apply-functions的某些组合在这里很有用,但是无法弄清楚如何做到这一点.

r combinatorics lapply sapply

-4
推荐指数
1
解决办法
234
查看次数

从图中生成所有三元组?

我想从图中生成所有三元组。第一个“集合”中的所有三元组将是 1,2,3 和 1,3,2 和 3,2,1。我对这组的另一个三元组(即 2,1,3 或 3,1,2 )不感兴趣。我怎样才能做到这一点?

php algorithm math graph combinatorics

-13
推荐指数
1
解决办法
476
查看次数