小编noM*_*MAD的帖子

比较两张地图

我有两个声明为的地图Map<String, Object>.在Object这里可以是另一个Map<String, Object>(依此类推).我想在不知道它们的深度的情况下检查两个地图是否完全相同.我可以比较toString()每个地图上被调用的输出而不是使用递归吗?或者是否有更简单的方法来比较地图?

java dictionary

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

如何启动匿名线程类

我有以下代码片段:

public class A {
    public static void main(String[] arg) {
        new Thread() {
            public void run() {
                System.out.println("blah");
            }
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,如何start()在不创建线程类实例的情况下为线程调用方法?

java multithreading anonymous-class

58
推荐指数
3
解决办法
10万
查看次数

在O(log n)中的排序矩阵(行n列)中查找数字

假设我有一个矩阵(MxN),其行和列已排序.

  1. 每行中的所有元素按递增顺序排列
  2. 每列中的所有元素按递增顺序排列
  3. 所有元素都是整数
  4. 没有其他假设可以做

    例:

    [1 5 8 20]

    [2 9 19 21]

    [12 15 25 30]

我必须找到矩阵中是否存在给定数字(基本搜索).我有一个运行的算法O(n)

int row = 0;
int col = N-1;

while (row < M && col >= 0) {
  if (mat[row][col] == elem) { 
    return true;
  } else if (mat[row][col] > elem) { 
    col--;
  } else { 
    row++;
  } 
}
Run Code Online (Sandbox Code Playgroud)

但我被问到一个O(log (MxN)) == O(Log(n))解决方案.有任何想法吗??

algorithm performance

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

找到添加到给定总和的数组中的数字对

问题:给定一个未排序的正整数数组,是否有可能从该数组中找到一对总和达到给定总和的整数?

约束:这应该在O(n)和就地(没有任何外部存储,如数组,哈希映射)完成(你可以使用额外的变量/指针)

如果这是不可能的,那么可以给出相同的证明吗?

arrays algorithm performance processing-efficiency

31
推荐指数
3
解决办法
6万
查看次数

如何检查整数中的重复序列

我有一个字母数字字符串,我想检查它中的模式重复只是为了整数.它们应该是连续的.

  1. 12341234q我们应该告诉我重复1234.
  2. 1234qwe1234应该告诉我,1234,因为它不是连续重复.
  3. 12121212应该被视为重复12,因为这是第一个被发现重复的集合.但是如果有一个算法会在12之前找到1212作为重复集合,那么我猜它必须在1212再次执行这些步骤.

我的想法是,我可以通过循环并将其与比较整数部分存储( <= '0' && >= '9')在不同的StringBuilder.然后我读到关于对字符串执行FFT并显示重复模式.但是我不知道如何在Java中执行FFT并查找结果,我也希望在不进行信号处理的情况下尝试这样做.我读到了关于KMP模式匹配但只适用于给定输入.有没有其他方法可以做到这一点?

java regex algorithm

24
推荐指数
3
解决办法
5035
查看次数

同步和重入锁定之间的区别?

synchronized在Java中使用了关键字和重入锁,但我不明白它们之间的区别,或者哪种情况适合于给定的情况.

我如何决定何时使用synchronized以及何时使用可重入锁?

java thread-safety

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

数组10000有16位元素,找到位设置(无限RAM) - 谷歌访谈

最近在我的谷歌采访中提到了这一点,我提供了一个涉及位移的答案,并且是O(n),但她说这不是最快的方式.我不明白,有没有办法计算位集而不必迭代提供的整个位?

algorithm data-structures

21
推荐指数
2
解决办法
9191
查看次数

不带+运算符添加两个数字(澄清)

我知道我们可以使用二进制加法器的逻辑Sum = a XOR bCarry = a AND b

我也有一个解决方案:

int add(int a, int b)
{
     if(b == 0)
         return sum;
     sum = a ^ b;
     carry = (a & b) << 1;
     return add(sum,carry);
}
Run Code Online (Sandbox Code Playgroud)

我在这里不明白的是为什么在每次递归期间进位位移位或乘以2?

bit-manipulation

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

我可以检测SWT中文本字段的变化吗?

我有几个SWT小部件.如果在任何字段中有任何修改,我试图创建一个动作.

示例:如果我更改了名称,Text我应该能够识别它.我尝试在线搜索解决方案,但找不到合适的解决方案.

有什么建议?

java eclipse swt

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

为什么在类中有公共静态类

我正在浏览一些代码,我看到了这个:

public class A {
    public A(SomeObject obj) {
      //Do something
    }
    //Some stuff
  public static class B {
    //Some other stuff
  }
}
Run Code Online (Sandbox Code Playgroud)

我想知道,因为即使内部类是public为什么它作为嵌套而不是一个单独的类?另外,我可以在这里这样做new A.B(SomeObject)吗?我觉得这会破坏静态类的目的,但我也看到了这个实现,所以想知道.

java nested-class

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