小编har*_*ddy的帖子

Open散列和闭合散列的含义

Open Hashing(单独链接):

在开放散列中,密钥存储在附加到散列表的单元格的链接列表中.

封闭散列(开放寻址):

在封闭散列中,所有键都存储在散列表本身中,而不使用链接列表.

我无法理解为什么他们被称为开放,封闭和分离.有人可以解释一下吗?

hash

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

如何使用生成1到5的函数在1到7之间生成随机数

可能重复:
将随机范围从1-5扩展到1-7

我理解使用拒绝采样的解决方案,即

public static int rand7() {
    while (true) {
       int num = 5 * (rand5() - 1) + (rand5() - 1);
       if (num < 21) return (num % 7 + 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

但我正在考虑另一个解决方案,即rand5()被调用7次,结果除以5,但我不确定这是否正确.如果有或没有,请告诉我.

public static int rand7() {    
    int num = rand5()+rand5()+rand5()+rand5()+rand5()+rand5()+rand5();
    return num/5;
}
Run Code Online (Sandbox Code Playgroud)

编辑:看起来生成1的概率是(1/5)^ 7但生成2的概率是7*(1/5)^ 7.它是不均匀的,所以它不会起作用.

random algorithm math

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

如何找到具有公共点的这些间隔的最大数量?

我一直在审查算法,这是Anany Levitin的算法书中的问题。

您在实线上有n个打开间隔(a1,b1),...,(an,bn)的列表。(一个开放区间(a,b)严格包含其端点a和b之间的所有点,即(a,b)=(xi a <x <b}。)找出这些区间中具有共同点的最大数目例如,对于时间间隔(1、4),(0、3),(-1.5、2),(3.6、5),此最大数为3。为此问题设计一种算法,其算法优于二次方程时间效率。

任何人都可以帮助我为它形成算法或在互联网上建议任何资源。

谢谢,哈琳德拉

algorithm intersection line segment computational-geometry

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

我可以使用==运算符来比较Java中的Point对象吗?

虽然我正在解决"破解编码面试"一书中的问题......我对此表示怀疑.问题是:

给定二维平面上的两个正方形,找到一条将这两个正方形切成两半的线.

解决方案:任何穿过矩形中心的线都必须将其切成两半.因此,如果你绘制一条连接两个正方形中心的线,它会将两个正方形切成两半.

   public class Square {
       public double left;
       public double top;
       public double bottom;
       public double right;
       public Square(double left, double top, double size) {
              this.left = left;
              this.top = top;
              this.bottom = top + size;
              this.right = left + size;
       }

       public Point middle() {
              return new Point((this.left + this.right) / 2,
                                           (this.top + this.bottom) / 2);
       }

       public Line cut(Square other) {
              Point middle_s = this.middle();
              Point middle_t = other.middle();
              if (middle_s == middle_t) {
                     return …
Run Code Online (Sandbox Code Playgroud)

java object-comparison object-identity

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

如何在不使用git的情况下下载git存储库

我正在通过一些教程来学习 git,但我想要一个 git 存储库来练习同样的操作。

但由于防火墙或其他原因,该命令不起作用

$git clone git://git.kernel.org/pub/scm/git/git.git
Run Code Online (Sandbox Code Playgroud)

相反,我可以将存储库作为压缩文件下载,或者当url显示为带有目录的 html 页面时如何递归下载?

git firewall http

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