小编Pet*_*ter的帖子

如何计算文件夹,其子文件夹和所有文件夹中的所有文件.计数不应包括文件夹计数

如何计算文件夹,其子文件夹和所有文件夹中的所有文件.计数不应包括文件夹计数.

我想在MAC中做到这一点

linux command-line

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

Cassandra:批量写入优化

我得到批量写入请求,让我们说来自客户端的20个密钥.我可以在一个批处理中将它们写入C*,也可以以异步方式单独写入它们并等待将来完成它们.

批量写入似乎不是一个goo选项,因为我的插入率很高,如果键属于不同的分区,协调员将不得不做额外的工作.

有没有一种方法可以在datastax java驱动程序中使用它来组合可能属于同一分区的键,然后将它们分成小批量,然后在异步中进行不定期的未记录批量写入.通过这种方式,我可以减少对服务器的rpc调用,同时协调器必须在本地写入.我将使用令牌感知策略.

cassandra datastax-java-driver datastax cassandra-3.0

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

给定一组最佳拟合尺寸,告诉其他阵列可以安装多少个元素(下面有更多详细信息)

有一个旧的干井.它的侧面由混凝土环制成.每个这样的环都是一米高,但环可以具有不同的(内部)直径.然而,所有环都相互对中.井深N米; 也就是说,里面有N个混凝土环.您将要将M具体磁盘放入井中.每个磁盘厚一米,不同的磁盘可以有不同的直径.一旦每个磁盘都被丢弃,它就会掉下来,直到:

  • 它击中井底;
  • 它击中一个内径小于圆盘直径的环; 要么
  • 它击中了之前丢弃的磁盘.(请注意,如果环的内径和磁盘的直径相等,则磁盘可能会从环中掉落.)

您准备放下的磁盘已准备就绪,您可以知道它们的直径以及井中所有环的直径.问题出现了:有多少磁盘适合井?

写一个函数:int falling_disks(int A [],int N,int B [],int M); 给定两个零索引的整数数组--A,包含N个环的内径(自上而下的顺序),和B,包含M个磁盘的直径(按它们要被丢弃的顺序) - 返回适合井的磁盘数.例如,给定以下两个数组:

      A[0] = 5    B[0] = 2
      A[1] = 6    B[1] = 3
      A[2] = 4    B[2] = 5
      A[3] = 3    B[3] = 2
      A[4] = 6    B[4] = 4
      A[5] = 2
      A[6] = 3
Run Code Online (Sandbox Code Playgroud)

该函数应该返回4,因为除了最后一个磁盘之外的所有磁盘都将适合井.该图显示了丢弃四个磁盘后的情况. 在此输入图像描述

假使,假设:

  • N是[1..200,000]范围内的整数;
    • M是[1..200,000]范围内的整数;
    • 数组A的每个元素是[1..1,000,000,000]范围内的整数;
    • 数组B的每个元素是[1..1,000,000,000]范围内的整数.

复杂:

  • 预期的最坏情况时间复杂度是O(N);
    • 预期的最坏情况空间复杂度是O(N),超出输入存储(不计入输入参数所需的存储).
    • 可以修改输入数组的元素.

我尝试使用堆栈并做一些事情,但我无法进入O(n)解决方案,即使经过一些优化,我认为最坏的情况仍然是O(n ^ 2).

algorithm data-structures

9
推荐指数
2
解决办法
3196
查看次数

如何遍历目录中的所有文件; 如果它有子目录,我也想遍历子目录中的文件

opendir(DIR,"$pwd") or die "Cannot open $pwd\n";
    my @files = readdir(DIR);
    closedir(DIR);
    foreach my $file (@files) {
        next if ($file !~ /\.txt$/i);
        my $mtime = (stat($file))[9];
        print $mtime;
        print "\n";
    }
Run Code Online (Sandbox Code Playgroud)

基本上我想要记下目录中所有txt文件的时间戳.如果有一个子目录,我也想在该子目录中包含文件.

有人可以帮我修改上面的代码,以便它也包含子目录.

如果我在windows中使用下面的代码我获取文件夹中所有文件的时间戳,甚至在我的文件夹之外

 my @dirs = ("C:\\Users\\peter\\Desktop\\folder");
    my %seen;
    while (my $pwd = shift @dirs) {
            opendir(DIR,"$pwd") or die "Cannot open $pwd\n";
            my @files = readdir(DIR);
            closedir(DIR);
            #print @files;
            foreach my $file (@files) {
                    if (-d $file and !$seen{$file}) {
                            $seen{$file} = 1;
                            push @dirs, "$pwd/$file";
                    }
                    next if ($file …
Run Code Online (Sandbox Code Playgroud)

perl directory-traversal

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

给出大量间隔[ai,bi],找到与最多间隔相交的间隔

给定大量间隔[ai,bi],找到与最多间隔相交的间隔.我们可以在O(nlogn)或更好的地方做到这一点吗?我只能想到^ 2方法.

algorithm data-structures

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

通过切换行和列将二进制矩阵转换为0?

假设你有一个0和1的网格.你的目标是通过执行一系列"翻转"操作将网格转换为全零的网格:如果你在网格中翻转位置(x,y),那么同一行或列中的所有位都是(x) ,y)得到翻转.

有谁知道可以用来解决这个问题的有效算法?

algorithm data-structures

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

发布 - 订阅系统的设计/代码调度程序

我的一个朋友在接受采访时被问到这个问题.我想在这里讨论这个问题

什么可以有效实现这个问题?

我遇到的一个简单想法是普通的memqueue,使用Memcache机器来扩展多个请求,运行的消费者作业会将内存从memcache写入DB.然后在第二部分我们可以运行一个sql查询来查找匹配订阅者的列表.

问题:-

事件发布到此系统.每个事件可以被认为包含称为C1,C2,... CN的固定数量(N)的字符串列.因此,每个事件都可以作为字符串数组传递(C1是数组中的第0个元素,C2是第1个元素,依此类推).

有M个订户 - S1,...... SM

每个订阅者都注册一个谓词,指定它感兴趣的事件的子集.每个谓词可以包含:

Equality clause on columns, for example: (C1 == “US”)
Conjunctions of such clauses, example: 
    (C1 == “IN”) && (C2 == “home.php”) 
    (C1 == “IN”) && (C2 == “search.php”) && (C3 == “nytimes.com”)
Run Code Online (Sandbox Code Playgroud)

(在上面的示例中,C1代表事件的国家/地区代码,C2代表网站的网页,C3代表引荐代码.)

即. - 每个谓词都是一些平等条件的结合.请注意,谓词不一定具有所有列的相等子句(即 - 谓词可能不关心某些或所有列的值).(在上面的例子中:#a不关心列C3,...... CN).

我们必须设计和编码一个可以将传入事件与注册用户匹配的Dispatcher.传入事件率以每秒百万次为单位.订阅者数量为数千.所以这个调度员必须非常高效.用简单的话说:

When the system boots, all the subscribers register their predicates to the dispatcher
After this events start coming to the dispatcher
For each event, the dispatcher has to emit …
Run Code Online (Sandbox Code Playgroud)

algorithm data-structures

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

查找数组中可能的序列数,以及其他条件

有一个序列{a1,a2,a3,a4,..... aN}.运行是序列的最大严格增加或严格减少的连续部分.例如.如果我们有一个序列{1,2,3,4,7,6,5,2,3,4,1,2}我们有5个可能的运行{1,2,3,4,7},{7, 6,5,2},{2,3,4},{4,1}和{1,2}.

给定四个数字N,M,K,L.计算具有正好M次运行的N个数的可能序列的数量,序列中的每个数字小于或等于K并且相邻数字之间的差异小于等于到L.

在一次采访中提出了这个问题.

我只能想到一个强力解决方案.什么是这个问题的有效解决方案?

algorithm data-structures

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

Google访谈:查找多边形的最大总和

给定具有N顶点和N边的多边形.每个顶点都有一个int数(可能是负数)(*,+),每个边上都有一个set运算.每次,我们从多边形中移除边E,将边连接的两个顶点合并(V1,V2)到一个值为的新顶点:V1 op(E) V2.最后一种情况是两个带有两条边的顶点,结果是较大的一个.

返回最大结果值可以从给定的多边形获得.

对于最后一种情况,我们可能不需要两次合并,因为另一个数字可能是负数,所以在这种情况下我们只返回更大的数字.

我是如何解决这个问题的:

 p[i,j] denotes the maximum value we can obtain by merging nodes from labelled i to j.
 p[i,i] = v[i] -- base case
 p[i,j] = p[i,k] operator in between p[k+1,j] , for k between i to j-1.
and then p[0,n] will be my answer.
Second point , i will have to start from all the vertices and do the same as above as this will …
Run Code Online (Sandbox Code Playgroud)

algorithm matrix-multiplication data-structures

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

使用一组操作对2D矩阵进行Nullify

Given an N x M matrix having only positive integer values, we have to nullify the matrix 
i.e make all entries 0.
We are given two operations
1) multiply each element of any one column at a time by 2.
2) Subtract 1 from all elements of any one row at a time

Find the minimum number of operations required to nullify the matrix.
Run Code Online (Sandbox Code Playgroud)

我想做一些与LCM有关的事情,但无法达成解决方案

algorithm matrix mathematical-optimization data-structures

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