小编dre*_*mer的帖子

排序1万亿整数

给定硬盘上的1万亿个整数,找到最小的100万个整数.一次最多可以在内存中容纳100万个整数.

一种方法是,从1万亿中取出前100万个并对100万个整数进行排序并将其存储回硬盘中.通过这种方式对每组100万个整数进行排序并将其存储在硬盘中.现在,100万个整数的组合分类达1万亿.现在比较所有排序组的第一个元素,它们的最小值是1万亿的最小值.将其存储为内存中的第一个元素.接下来,从最小元素所在的组中取出第二个元素,然后使用所有其他组的第一个元素进行检查.以这种方式重复该过程,直到第一个100万被分类并存储在存储器中.

我缺少一种更优化的方法吗?

sorting algorithm

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

perl后台进程

我试图在perl中运行后台进程.我创建了一个子进程,用于调用另一个perl脚本.我希望与这个子进程并行运行几行代码.子进程完成后.我想打印一行代码.

主要脚本

#!/usr/bin/perl

$|=1;

print "before the child process\n";

my $pid = fork();

if (defined $pid)
{
    system("perl testing.pl");
}

print "before wait command\n";

wait();

print "after 20 secs of waiting\n";
Run Code Online (Sandbox Code Playgroud)

testing.pl

#!/usr/bin/perl

print "inside testing\n";

sleep(20);
Run Code Online (Sandbox Code Playgroud)

预期产出

before the child process
before wait command
(should wait for 20 secs and then print)
after 20 secs of waiting

perl sleep fork background wait

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

Perl:解除引用哈希散列的哈希值

考虑示例代码:

$VAR1 = {
      'en' => {
              'new' => {
                       'style' => 'defaultCaption',
                       'tts:fontStyle' => 'bold',
                       'id' => 'new'
                     },
              'defaultCaption' => {
                                  'tts:textAlign' => 'left',
                                  'tts:fontWeight' => 'normal',
                                  'tts:color' => 'white',

                                }
            },
      'es' => {
              'defaultSpeaker' => {
                                  'tts:textAlign' => 'left',
                                  'tts:fontWeight' => 'normal',

                                },
              'new' => {
                       'style' => 'defaultCaption',
                       'tts:fontStyle' => 'bold',
                       'id' => 'new'
                     },
              'defaultCaption' => {
                                  'tts:textAlign' => 'left',
                                  'tts:fontWeight' => 'normal',

                                }
            }
    };
Run Code Online (Sandbox Code Playgroud)

我将它作为参考返回,返回\%hash

我怎么解除这个?

arrays perl hash perl-data-structures

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

流中的字符

这个问题在接受采访时被问到了......

假设您的计算机正在从流中逐个读取字符(在结束之前您不知道流的长度).请注意,您只有一个存储空间字符(因此您无法将已读取的字符保存为强大的字符).当你读完之后,你应该以相同的概率从流中返回一个字符.

怎么解决这个问题?任何的想法??

任何方式来解决这个问题?

file stream

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

为Django的NGINX服务器上的CSS和JS文件启用GZIP

x配置文件/etc/nginx/ngnix.conf并没有发现任何问题.仍然无法看到css和javascript Gzip压缩.我的NGINX.conf条目如下 -

    gzip on;
    gzip_disable "msie6";

    gzip_comp_level 6;
    gzip_min_length 1100;
    gzip_buffers 16 8k;
    gzip_proxied any;
    gzip_types text/plain text/css text/js text/xml text/javascript application/javascript application/x-javascript application/json application/xml application/xml+rss;
Run Code Online (Sandbox Code Playgroud)

javascript css compression django nginx

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

Perl - 如何从文件中grep一段文本

它可以是XML或任何文本格式.一般来说如何grep Perl中的文本块?

<track type="ws">
      <range>
       <rangeStart>0</rangeStart>
       <rangeEnd>146.912</rangeEnd>
       <locationIndex>0</locationIndex>
       <propertyIndex>0</propertyIndex>
      </range>
</track>
<track type="ps" id="1">
      <range>
       <rangeStart>0</rangeStart>
       <rangeEnd>146.912</rangeEnd>
       <locationIndex>1</locationIndex>
       <propertyIndex>1</propertyIndex>
      </range>
</track>
Run Code Online (Sandbox Code Playgroud)

我想要type="ps"抓住并获得一切,直到</range>.

一种解决方案是打开文件,逐行读取,然后匹配块.

open(FH, "file.txt");
foreach $line (<FH>) {
    if ($line =~ m/type="cc"(.*?)<\/range>/) {
        print $1;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果没有逐行读取文件,是否有更优化的解决方案?

perl grep

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

python中的字典的字典

tags = {'stream', 'auth'} 
tags['stream']= {}
tags["stream"]["path"]= ["/streams"]
tags['stream']['attribute']= ['id', 'secure', 'cpcode', 'format', 'event_pattern']
Run Code Online (Sandbox Code Playgroud)

上面的代码会抛出一个错误:

    tags["stream"]= {} 
TypeError: 'set' object does not support item assignment
Run Code Online (Sandbox Code Playgroud)

如何创建列表字典的字典?

python dictionary list

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

正则表达式解析多行HTML

我正在尝试使用正则表达式解析多行html文件.

HTML代码:

<td>Details</td></tr>  
<tr class=d1>
<td>uss_vod_translator</td>
Run Code Online (Sandbox Code Playgroud)

正则表达式:

if ($line =~ m/Details<\/td>\s*<\/tr>\s*<tr\s*class=d1>\s*<td>(\w*)<\/td>/)
{
    print "$1";
}
Run Code Online (Sandbox Code Playgroud)

我正在使用/s*(空格)多线,但它不起作用.我搜索过它,甚至用于/\?多线,但这也没有用.

任何人都可以建议我如何解析多行HTML?

我知道正则表达式解析HTML是一个糟糕的解决方案.但我有一个遗留的HTML代码,我需要解析,没有其他选择.

html regex perl multiline html-parsing

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