我有两个声明为的地图Map<String, Object>
.在Object
这里可以是另一个Map<String, Object>
(依此类推).我想在不知道它们的深度的情况下检查两个地图是否完全相同.我可以比较toString()
每个地图上被调用的输出而不是使用递归吗?或者是否有更简单的方法来比较地图?
我有以下代码片段:
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()
在不创建线程类实例的情况下为线程调用方法?
假设我有一个矩阵(MxN
),其行和列已排序.
没有其他假设可以做
例:
[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))
解决方案.有任何想法吗??
问题:给定一个未排序的正整数数组,是否有可能从该数组中找到一对总和达到给定总和的整数?
约束:这应该在O(n)和就地(没有任何外部存储,如数组,哈希映射)完成(你可以使用额外的变量/指针)
如果这是不可能的,那么可以给出相同的证明吗?
我有一个字母数字字符串,我想检查它中的模式重复只是为了整数.它们应该是连续的.
例
我的想法是,我可以通过循环并将其与比较整数部分存储( <= '0' && >= '9')
在不同的StringBuilder
.然后我读到关于对字符串执行FFT并显示重复模式.但是我不知道如何在Java中执行FFT并查找结果,我也希望在不进行信号处理的情况下尝试这样做.我读到了关于KMP模式匹配但只适用于给定输入.有没有其他方法可以做到这一点?
我synchronized
在Java中使用了关键字和重入锁,但我不明白它们之间的区别,或者哪种情况适合于给定的情况.
我如何决定何时使用synchronized
以及何时使用可重入锁?
最近在我的谷歌采访中提到了这一点,我提供了一个涉及位移的答案,并且是O(n),但她说这不是最快的方式.我不明白,有没有办法计算位集而不必迭代提供的整个位?
我知道我们可以使用二进制加法器的逻辑Sum = a XOR b
和Carry = 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?
我有几个SWT小部件.如果在任何字段中有任何修改,我试图创建一个动作.
示例:如果我更改了名称,Text
我应该能够识别它.我尝试在线搜索解决方案,但找不到合适的解决方案.
有什么建议?
我正在浏览一些代码,我看到了这个:
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 ×6
algorithm ×4
performance ×2
arrays ×1
dictionary ×1
eclipse ×1
nested-class ×1
regex ×1
swt ×1