问题列表 - 第4149页

生成生成集的算法

鉴于此输入:[1,2,3,4]

我想生成一组生成集:

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

每组都具有原始集的所有元素,置换为出现在唯一的子集中.生成这些集的算法是什么?我已经尝试使用选择,置换,组合,电源设置等Python生成器功能,但无法获得正确的组合.

2009年1月20日

这不是一个家庭作业问题.这是我正在为www.projecteuler.net问题#118工作的一个改进的答案.我已经有一个缓慢的解决方案,但提出了一个更好的方法 - 除了我无法弄清楚如何进行跨越集.

当我从就职党回来时,我会发布我的代码.

2009年1月21日

这是我使用的最终算法:

def spanningsets(items):
    if len(items) == 1:
        yield [items]
    else:
        left_set, last = items[:-1], [items[-1]]
        for cc in spanningsets(left_set):
            yield cc + [last]
            for i,elem in enumerate(cc):
                yield cc[:i] + [elem + last] + …
Run Code Online (Sandbox Code Playgroud)

python algorithm

10
推荐指数
2
解决办法
1191
查看次数

在Mark中降价

是否有可用于.NET项目的第三方库,可以将降价文档转换为html服务器端?即我已将Markdown文本存储在数据库中,该数据库在显示时需要转换为html.

我知道WMD,但它只转换客户端.

.net html c# markdown

6
推荐指数
3
解决办法
2518
查看次数

在Vim中评论/取消注释ruby代码块的最优雅方式是什么?

在VIM中,我需要注释掉一段Ruby代码:

  • 我导航到我要注释掉的行的第一列
  • 我按CTRL-v进入可视区块模式
  • 我向下导航到我想要结束操作的地方
  • r<space>如果我想取消注释代码或者r#我想将其注释掉,我会输入.

这个工作流程对我来说似乎没问题,有没有办法改进这个过程?是否有任何其他技巧可以在vim中评论或取消注释ruby代码部分?

vim

38
推荐指数
6
解决办法
2万
查看次数

使用中央存储库是否违反GIT的目的?

如果您处于公司环境中,并且有许多人在处理特定应用程序,那么它是否会与分布式版本控制系统相悖以拥有官方中央存储库?

有时我很难在公司环境中理解分布式版本控制系统(如GIT)的概念.如果您没有中央存储库,那么PITA是否可以确定谁拥有最新的更新版本,谁拥有每个人都需要抓取的功能x或错误修复等等等.

它是否违背了GIT以与SVN类似的方式使用它的目的,还有一个每个人都推/拉的中央存储库?每次我想到这样做,我都觉得我错过了一切.

有人可以开导我吗?

svn git dvcs

33
推荐指数
4
解决办法
5361
查看次数

如何找到slapd LDAP服务器的连接数?

我有一个slapd LDAP服务器,这对我的应用程序至关重要.我想监视它,以便检测它何时变得过载或是否失败.

不幸的是,我们遇到了一个非常旧版本的slapd,它有一个已知的错误:它无法应对超过64个并发连接.如果客户端试图打开更多连接slapd块,导致各种问题.

我被要求制作一个工具,可以在任何给定时刻找到打开的连接数 - 这可能会在自动监控工具中使用,但我怎样才能找到slapd的状态?有办法吗?

openldap

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

缓冲区溢出如何用于利用计算机?

缓冲区溢出如何用于利用计算机?

如何通过简单地导致堆栈溢出来执行任意代码?

我理解程序存储器的某些部分是被覆盖的,但是我不知道这会导致一个人执行自己的代码.此外,第三方的恶意代码必须用目标处理器汇编语言编写吗?

security exploit buffer-overflow

19
推荐指数
4
解决办法
5670
查看次数

删除处理对象时的处理程序

我可以想到一些解决这个问题的方法,但是我觉得应该有一个比我已经提出的更优雅的解决方案.

对象在被处置之前清除其所有事件处理程序的最合适方式是什么.遗憾的是事件处理程序无法枚举.

理论上,对于将处理程序添加到对象以记住删除它的代码,假设对象在超出范围之前将自行清理,是否更为正确?

.net c#

8
推荐指数
3
解决办法
3310
查看次数

java中的^运算符

任何人都可以通过一些例子解释在java中使用^运算符吗?

java operators

62
推荐指数
3
解决办法
5万
查看次数

了解班次操作员

我无法理解这个移位运算符(c#reference):

class MainClass1
{
 static void Main()
    {
        int i = 1;
        long lg = 1;
        Console.WriteLine("0x{0:x}", i << 1);
        Console.WriteLine("0x{0:x}", i << 33);
        Console.WriteLine("0x{0:x}", lg << 33);
    }
}

/*
Output:
0x2
0x2
0x200000000
*/

class MainClass2
{
     static void Main()
     {
         int a = 1000;
         a <<= 4;
         Console.WriteLine(a);
     }
}

/*
Output:
16000
*/
Run Code Online (Sandbox Code Playgroud)

c#

19
推荐指数
2
解决办法
3万
查看次数

哈希码和校验和 - 有什么区别?

我的理解是哈希码和校验和是类似的东西 - 为数据块计算的数值,它是相对独特的.

即,产生相同数字散列/校验和值的两个数据块的概率足够低,以至于出于应用目的可以忽略它.

那么我们是否有两个单词用于相同的事情,或者哈希码和校验和之间是否存在重要差异?

language-agnostic hash computer-science checksum

107
推荐指数
8
解决办法
4万
查看次数