标签:time-complexity

  • Python“无价值”字典 - python

    时间:2020-9-3

    我有一个问题要跟踪大量值。如果我从未遇到过该值,则将执行操作A,否则将执行操作B。自然地,我考虑使用字典来跟踪值,因为查找非常快,即〜O(1)。 但是,字典是键值系统,而我想利用的只是键。我可以分配一个假值 "myvalue": None 但我不禁要问,是否还有更优雅的方法可以解决此问题。 有什么想法吗?有想法吗?谢谢! 参考方案 这就是 […]

  • Python“for”循环的更好方法 - python

    时间:2020-8-17

    我们都知道,在Python中执行语句一定次数的常见方法是使用for循环。 一般的做法是 # I am assuming iterated list is redundant. # Just the number of execution matters. for _ in range(count): pass 我相信没有人会争辩说上面的代码是通用的实现,但是 […]

  • 在Java的单行中对多个整数使用BufferedReader而不是Scanner Class是否最优? - java

    时间:2020-8-13

    由于在从用户输入值的情况下,缓冲的读取器比扫描器类要快得多,但是,如在大多数算法竞赛中或在采访中观察到的那样,单个输入行上通常会有多个整数。因此,使用Scanner Class变得更加容易- Scanner in=new Scanner(System.in); int a=in.nextInt(); int b=in.nextInt(); 如果是Buffer […]

  • 在此实现中,hashset.contains如何为O(1)? - c#

    时间:2020-8-11

    HashSet.Net中包含的实现为: /// <summary> /// Checks if this hashset contains the item /// </summary> /// <param name="item">item to check for containment</p […]

  • 快速放置拼图的方法 - python

    时间:2020-8-11

    我正在编写代码来解决以下难题。 考虑长度为n的二进制矢量,该矢量最初为零。您选择一个向量位并将其设置为1。现在,将启动一个过程,该过程将距离任意1位最大距离的位设置为$ 1 $(如果有多个,则任意选择最远的位)。重复发生这种情况的规则是两个1位不能相邻。当没有更多空间放置1位时,它将终止。目标是放置初始的1位,以便在终止时将尽可能多的位设置为1。 假设n = […]

  • 解析为大型O分析的伪代码的代码 - java

    时间:2020-8-5

    我目前正在尝试编写一个程序,该程序从txt文件读取伪代码,并将伪代码的Big O表示法作为新的txt文件输出。我正在努力寻找一种方法来解析for循环,以找到查找代码时间复杂度所需的关键信息。例如: "input02.txt" n m /* The estimate variable */ i j /* The control variab […]

  • 原始性检查 - java

    时间:2020-7-26

    每个素数均采用6k + 1或6k-1的形式。为了检查数字是否为质数,我们可以使用以下算法。我看过基于这些算法编写的程序。 public boolean isPrime(int n) { if (n <= 1) return false; if (n <= 3) return true; if (n%2 == 0 || n%3 == 0) retu […]

  • 编写具有复杂度O(N)的代码很麻烦 - python

    时间:2020-7-20

    任务:   给定一个由N个整数组成的数组A,则返回最小的正整数  (大于0)在A中不会出现。 我的代码: def search(A): j=1 while j in A: j+=1; return j; 为什么我的时间复杂度为O(N ^ 2)? 参考方案 您正在执行O(N)遍历列表中所有肯定的项目。在每次迭代中,您都可以通过询问“ O(N)”让python在 […]

  • 如何使用N个六边形骰子计算获得总和X的概率 - java

    时间:2020-7-18

    挑战:例如,使用3个六面骰子时获得15之和的概率是多少。例如,可以通过获得5-5-5或6-6-3或3-6-6或更多选项来实现。2个骰子的强力解决方案-复杂度为6 ^ 2:假设我们只有两个六面骰子,我们可以编写一个非常基本的代码,如下所示: public static void main(String[] args) { System.out.println( […]