渥太华IT面试编程试题

以你的反转字符串为例,如果字符串长度是1024,看看你的程序开了多少存储单元。


:rolleyes:I lost you right there about 把数组本身push to stack.
recursion的原理跟function call的原理这个我们都清楚.
不过你的意思是把数组复制以后或者切成subset以后再把所有数组内容push to stack?:confused:

你应该不是这个意思吧.

内存消耗(硬件资源)跟性能这个应该看很多东西的吧.
如果是手机程序的话,可用资源不够,我们可以牺牲一些性能
如果是服务器程序的话,我们有很多硬件资源,完全可以牺牲硬件,提升性能啊
但是如果这时候服务器已经正在进行大规模的数据处理了,我们硬件资源不够了,这时候就需要牺牲一些性能了,其实就是load balance了

闲得慌来点load balance,cloud computing一类的的问题吧,没接触过,想学
 
以你的反转字符串为例,如果字符串长度是1024,看看你的程序开了多少存储单元。
那你如果要这么较真的话,我们一个写一个看看存储跟运行效率吧,没语言限制,找个公证人发程序就是了:rolleyes::rolleyes::rolleyes:

你如果强调的是reverse2的function的话,你可以看reverse1
你如果强调的是reverse2里头的substring的话,这个用c++写的话,完全可以只带入2个int跟原始array.
更细点的话java string 的+ operator也不能乱用,带入一个stringbuilder object,用append更好
 
觉得第一个break有问题, 因为当i < 0的时候, B可能还有多于1个的元素没过来。
good catch! try this one :)

for (k = A.length + B.length -1; k >= 0; k--) {
if(j < 0) {
A[k] = A;
break;
}
if(i >= 0 && A >= B[j]){
A[k] = A;
i--;
}else {
A[k] = B[j];
j--;
}
}
 
。。。。

闲得慌来点load balance,cloud computing一类的的问题吧,没接触过,想学


面试的时候,最多问一些load balance,cloud computing的概念,发展趋势。 如果你做过,会问一些你自己的经验。 不会要你写程序的;)
 
那你如果要这么较真的话,我们一个写一个看看存储跟运行效率吧,没语言限制,找个公证人发程序就是了:rolleyes::rolleyes::rolleyes:

你如果强调的是reverse2的function的话,你可以看reverse1
你如果强调的是reverse2里头的substring的话,这个用c++写的话,完全可以只带入2个int跟原始array.
更细点的话java string 的+ operator也不能乱用,带入一个stringbuilder object,用append更好
呵呵,俺只是想说旭日阳刚的code虽然straightforward,但是实现了O(1)space和O(n)time complexity. Recursion算法虽然优美,但一不小心会占用大量内存,失去了最优性。

不较真了。转回观望状态。:)

有冒犯之处还请包涵。
 
呵呵,俺只是想说旭日阳刚的code虽然straightforward,但是实现了O(1)space和O(n)time complexity. Recursion算法虽然优美,但一不小心会占用大量内存,失去了最优性。

不较真了。转回观望状态。:)

有冒犯之处还请包涵。


虽然 、、、但是 、、、应该是用于转折吧?
咱俩是谁的中文出了问题:D
 
感谢赞扬。你应该说虽然elementary, 但是。。。

热狗就是知道的太多了,所以容易使用更高的技术。。。

我就会用板斧,什么东西都用板斧砍,这次碰巧砍了个木头,咔,断了。要是钢筋,我就卷了。:D
我们现在回去和小学生做心算100道,不一定能赢。

是俺是俺。:blowzy::blowzy:

STRAIGHTFORWARD 那词抑得不够,后面也扬的不高。。。
 
后退
顶部