小编Dan*_*ski的帖子

n组的所有组合的交集

我需要帮助找到一个有效的算法来解决这个问题:

给定n个未排序的整数集,找到n及其交叉点的所有可能组合.

例如:

输入(n = 3):

集1 =
1,10,6,11,14,3集2 = 3,7,11,9,5
集3 = 11,6,9,1,4

输出:

设置1和2:3,11
设置1和3:1,6
设置2和3:9,11
设置1,2和3:11

我想首先找到所有可能的集合组合,然后使用算法找到这里找到的n个集合的交集.不过,我担心这种方法的时间效率.

如果你能找到比我天真的方法更好的东西,伪代码的答案将是最有帮助的.

algorithm big-o set data-structures

7
推荐指数
1
解决办法
4488
查看次数

确定Moose属性和方法的继承地点?

我经常在我的工作地点处理一个庞大的,没有很好记录的,面向对象的Perl回购.在维护代码的同时,我经常需要跟踪从其他类继承的内容,以便我能够理解他们正在做什么.例如,我需要弄清楚$self->mystery它在做什么以及它在做什么:

package Foo::Bar;
use Moose;
use Method::Signatures;
use Foo::Bar::Element;
use Foo::Bar::Function;
use base qw (Baz::Foo::Bar);

method do_stuff ($some_arg) {
    # mystery is not defined in Foo::Bar
    my $mystery = $self->mystery;
    $mystery->another_mystery($some_arg);
}
Run Code Online (Sandbox Code Playgroud)

我经常发现自己花费太多时间来追踪父类.所以我的问题是,有一个简单的方法让我弄清楚$self->mystery从哪里来的?或者换句话说,我需要找到声明神秘的地方.

通过"简单的方式",我并不是指使用ackgrep通过文件串搜索.我希望有一些我可以安装和使用的调试模块,这可以帮助我一些见解.

谢谢.

oop perl introspection moose

5
推荐指数
1
解决办法
241
查看次数

标签 统计

algorithm ×1

big-o ×1

data-structures ×1

introspection ×1

moose ×1

oop ×1

perl ×1

set ×1