小编New*_*ode的帖子

我在网上找到一个有趣的谷歌访谈算法需要线性时间

所以我在网上发现了这个Google采访算法问题.这真的很有趣,我还没有找到一个好的解决方案.请看一下,并给我一个提示/解决方案,如果你能用Java编写代码那将是很好的.

"设计一个算法,给定一个数组中n个元素的列表,找到在列表中出现超过n/3次的所有元素.算法应该在线性时间内运行.(n> = 0)你应该使用比较并实现线性时间.没有散列/过多空间/并且不使用标准线性时间确定性选择算法"

java algorithm frequency

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

在java中,如果你第二次调用相同的函数,程序会"记住"结果吗?

当我在思考快速计算数字能力的算法时,就会出现这个问题,比如计算x^n.

在Java中,递归部分类似于:

return power(x,n/2) * power(x,n/2);
Run Code Online (Sandbox Code Playgroud)

所以在程序返回值之后power(x,n/2),它会再次通过整个递归过程来计算第二个值power(x,n/2)吗?

如果是这样,我们应该先将值存储在某个变量中,然后返回该值的平方吗?

java algorithm recursion memoization

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

Java中String运算的成本是多少?

对于此for循环,运行时间为O(n)或O(n ^ 2):

char[] ar = new char[1000];
String s = "";
Arrays.fill(ar, 'a');
for(Character c: ar){
    s += c;
}
Run Code Online (Sandbox Code Playgroud)

基本上,字符串上+的运行时间是多少?它如何在Java背景下工作?

java memory algorithm runtime addition

-3
推荐指数
2
解决办法
718
查看次数