小编101*_*101的帖子

Big O表示法作业 - 代码片段算法分析?

对于家庭作业,我给了以下8个代码片段来分析并给出运行时间的Big-Oh表示法.如果我走在正确的轨道上,有人可以告诉我吗?

//Fragment 1
for(int i = 0; i < n; i++)
    sum++;
Run Code Online (Sandbox Code Playgroud)

我想O(N)代表片段1

//Fragment 2
for(int i = 0; i < n; i+=2)
    sum++;
Run Code Online (Sandbox Code Playgroud)

对于片段2也是O(N)

//Fragment 3
for(int i = 0; i < n; i++)
    for( int j = 0; j < n; j++)
        sum++;
Run Code Online (Sandbox Code Playgroud)

片段3的O(N ^ 2)

//Fragment 4
for(int i = 0; i < n; i+=2)
    sum++;
for(int j = 0; j < n; j++)
    sum++;
Run Code Online (Sandbox Code Playgroud)

片段4的O(N)

//Fragment 5
for(int i = 0; i < n; i++)
    for( …
Run Code Online (Sandbox Code Playgroud)

java big-o

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

在Python中使用difflib比较两个.txt文件

我试图比较两个文本文件并输出比较文件中的第一个字符串,该字符串不匹配但由于我是python的新手而遇到困难.有人可以给我一个使用这个模块的示例方法.

当我尝试这样的事情:

result = difflib.SequenceMatcher(None, testFile, comparisonFile)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,说'file'类型的对象没有len.

python difflib

21
推荐指数
3
解决办法
7万
查看次数

写我自己的外壳......卡在管道上?

在过去的几天里,我一直在尝试编写自己的shell实现,但我似乎一直在努力让管道正常工作.我能够解析一条线并分开管道之间的命令(例如:ls | sort),但似乎无法将它们从一个管道输入到另一个管道输入.

我想我只是不明白如何正确使用dup2()和管道.

我现在已经包含了仍然失败的代码... :(因此卡住了...

void forkAndExecute( char* arrayOfWords[] , vector<pid_t> *vectorOfPIDs , bool hasNextCmd , bool hasPrevCmd) {

int fd[ 2 ];
pid_t pid;

if( hasNextCmd ){
    pipe(fd);
}

pid = fork();

//error if PID < 0
if( pid < 0 ) {
    cerr << ">>> fork failed >>>" << endl;
    exit(-1);
}
//child process if PID == 0
else if( pid == 0 ) {
    if ( hasPrevCmd ){
        dup2(fd[0] , 0);
        close(fd[0]);
        close(fd[1]);

    }
    if ( …
Run Code Online (Sandbox Code Playgroud)

c++ unix shell pipe

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

如何创建Abstract类的动态数组?

假设我有一个抽象类Cat,它有一些具体的子类Wildcat,Housecat等.

我希望我的数组能够存储指向一种猫的指针,而不知道它究竟是哪种类型.

当我尝试动态分配Cat数组时,它似乎不起作用.

Cat* catArray = new Cat[200];
Run Code Online (Sandbox Code Playgroud)

c++ arrays abstract-class abstract

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

学习linux shell脚本是多么有用/困难?替代建议?

我迫切需要一些建议.

作为CS专业,我差不多完成了大三.我有点觉得自己是一个后来者,因为直到二年级才开始进入计算机科学......通过努力工作,一年中有很多学分和暑期学校,我几乎赶上了同龄人,但是这里来了忧虑:

我的所有学校工作都教会了我很多关于计算机科学的知识,但很少关于实际编程.虽然我有很多动力,但我几乎没有空闲时间让我接受侧面项目.这让我感到不安,原因有两个,1)我真的对这个领域充满热情; 2)我知道很多雇主都喜欢看到在校外有经验的学生.

所以我最近有一个想法:如果我将Linux作为我的主要操作系统,但尽可能地限制自己到终端,试图自然地(在谷歌的帮助下)熟悉命令行,并希望逐渐恢复shell脚本使用在线教程.

你认为这对有抱负的程序员有多大帮助?它有多现实?对于小型项目,您还有其他建议吗?几乎没有空闲时间的学生可以在校外接听吗?

非常感谢,我喜欢这个网站(和播客),并将感谢任何反馈.

linux shell

12
推荐指数
2
解决办法
9776
查看次数

如何限制Javascript的window.find到特定的DIV?

是否可以在Safari/Firefox/Chrome中使用Javascript来搜索给定文本字符串的特定div容器.我知道您可以使用window.find(str)搜索整个页面,但是可以将搜索区域限制为仅限div吗?

谢谢!

javascript safari firefox google-chrome

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

以相反顺序打印任何收藏中的项目?

我在使用Java book的数据结构和问题解决中遇到以下问题:

编写一个使用Collections API以相反顺序打印任何Collection中的项目的例程.不要使用ListIterator.

我不是把它放在这里,因为我希望有人做我的作业,我似乎无法理解它要求我编码的确切内容!

当它要求我写一个'例程'时,它是否在寻找一种方法?我真的不明白如何使单个方法适用于所有各种类型的集合(链表,队列,堆栈).

如果有人能指导我朝正确的方向发展,我将不胜感激.

java collections

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

使用Collections API来随机播放

我变得非常沮丧,因为我似乎无法弄清楚为什么Collections shuffling无法正常工作.

让我们说我试图改组randomizer阵列.

int[] randomizer = new int[] {200,300,212,111,6,2332}; 
Collections.shuffle(Arrays.asList(randomizer));
Run Code Online (Sandbox Code Playgroud)

由于某种原因,无论我是否调用shuffle方法,元素都保持完全相同的排序.有任何想法吗?

java collections shuffle

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

如何在loadimpact / k6中通过单个命令执行多个k6脚本?

如官方的loadimpact / k6文档所示,我们能够执行一个k6脚本,如下所示:

k6 run ../tests/http_get.js
Run Code Online (Sandbox Code Playgroud)

如何单次执行多个脚本文件?特别是驻留在给定本地目录中的所有脚本。就像是:

k6 run ../tests/
Run Code Online (Sandbox Code Playgroud)

k6是否支持开箱即用?

load-testing performance-testing k6

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

重构这个递归方法?

我对递归的想法很新,这实际上是我第一次尝试编写递归方法.

我试图实现一个递归函数Max,它传递一个数组,以及一个保存数组大小的变量,以便打印出最大的元素.

它有效,但感觉不对劲!

我也注意到我似乎比一般的同学更多地使用静态修饰符......

任何人都可以提供任何一般提示以及如何改进我的代码的反馈?

public class RecursiveTry{

static int[] n = new int[] {1,2,4,3,3,32,100};
static int current = 0;
static int maxValue = 0;
static int SIZE = n.length;

public static void main(String[] args){
    System.out.println(Max(n, SIZE));
}   

public static int Max(int[] n, int SIZE) {
    if(current <= SIZE - 1){
        if (maxValue <= n[current]) {
            maxValue = n[current];
            current++;
            Max(n, SIZE);                       
        }
        else {
            current++;
            Max(n, SIZE);
        }
    }
    return maxValue;
}
Run Code Online (Sandbox Code Playgroud)

}

java recursion

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