q***e 发帖数: 474 | 1 上个月在学校面的,第一题是找出一串数当中最大的subset,比如2,-1,0,10,-5.
最大的subset就是2,-1,0,10.怎么找出来
第二题是local variable和globalvariable有啥区别。
我第一题回答的挺屎的,后来没下文了,我推测是挂了。
今天竟然又神奇般的收到Bloomberg的email让我去网上做题,太诡异了,估计不记得曾
经面试过我。打算再做题试试,死马当做活马医。 |
w******1 发帖数: 520 | 2 最大的subset就是自己吧?
如果不是自己, 答案也不唯一啊。 |
b******v 发帖数: 1493 | 3 第一题是说和最大的subset吗?
【在 q***e 的大作中提到】 : 上个月在学校面的,第一题是找出一串数当中最大的subset,比如2,-1,0,10,-5. : 最大的subset就是2,-1,0,10.怎么找出来 : 第二题是local variable和globalvariable有啥区别。 : 我第一题回答的挺屎的,后来没下文了,我推测是挂了。 : 今天竟然又神奇般的收到Bloomberg的email让我去网上做题,太诡异了,估计不记得曾 : 经面试过我。打算再做题试试,死马当做活马医。
|
q***e 发帖数: 474 | 4 可能我没描述清,求和最大 的subset。
另:本人背景ME |
b******v 发帖数: 1493 | 5 而且要连续的吧?
【在 q***e 的大作中提到】 : 可能我没描述清,求和最大 的subset。 : 另:本人背景ME
|
q***e 发帖数: 474 | 6 正解
【在 b******v 的大作中提到】 : 而且要连续的吧?
|
r****o 发帖数: 1950 | 7 不连续的话,直接挑所有正数就可以了。如果没有正数,挑0,如果没有0,挑最小负数。
【在 b******v 的大作中提到】 : 而且要连续的吧?
|
s*********t 发帖数: 1663 | 8 第一题是经典题
第二题应该从哪个方面答?
【在 q***e 的大作中提到】 : 上个月在学校面的,第一题是找出一串数当中最大的subset,比如2,-1,0,10,-5. : 最大的subset就是2,-1,0,10.怎么找出来 : 第二题是local variable和globalvariable有啥区别。 : 我第一题回答的挺屎的,后来没下文了,我推测是挂了。 : 今天竟然又神奇般的收到Bloomberg的email让我去网上做题,太诡异了,估计不记得曾 : 经面试过我。打算再做题试试,死马当做活马医。
|
P*******e 发帖数: 1353 | 9 空间分配不一样,life time不一样
【在 s*********t 的大作中提到】 : 第一题是经典题 : 第二题应该从哪个方面答?
|
s*********t 发帖数: 1663 | 10 谢谢
【在 P*******e 的大作中提到】 : 空间分配不一样,life time不一样
|
|
|
w******1 发帖数: 520 | 11 一.在c中分为这几个存储区
1.栈 - 有编译器自动分配释放
2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收
3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量
和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的>另一块
区域。- 程序结束释放
4.另外还有一个专门放常量的地方。 - 程序结束释放
二.在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和
常量存储区。
1.栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储
区。里面的变量通常是局部变量、函数参数等。
2.堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序
去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程>序结束
后,操作系统会自动回收。
3.自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是
用free来结束自己的生命的。
|
w******1 发帖数: 520 | 12 第一题有什么标准的解法么? 谢谢。
【在 s*********t 的大作中提到】 : 第一题是经典题 : 第二题应该从哪个方面答?
|
q***e 发帖数: 474 | 13 顺便问一下啊,非cs的online test是不是没有编程题啊?一共多少题目?每个题目多
少时间?题目类型是选择题还是填空题?这个online test是不是必须在三天之内完成
?谢谢啦 ~~ |
k***u 发帖数: 42 | 14 http://en.wikipedia.org/wiki/Maximum_subarray_problem
Kadane's algorithm consists of a scan through the array values, computing at
each position the maximum subarray ending at that position. This subarray
is either empty (in which case its sum is zero) or consists of one more
element than the maximum subarray ending at the previous position. Thus, the
problem can be solved with the following code, expressed here in Python:
def max_subarray(A):
max_so_far = max_ending_here = 0
for x in A:
【在 w******1 的大作中提到】 : 第一题有什么标准的解法么? 谢谢。
|
w******1 发帖数: 520 | 15 thank you , kugou
at
the
【在 k***u 的大作中提到】 : http://en.wikipedia.org/wiki/Maximum_subarray_problem : Kadane's algorithm consists of a scan through the array values, computing at : each position the maximum subarray ending at that position. This subarray : is either empty (in which case its sum is zero) or consists of one more : element than the maximum subarray ending at the previous position. Thus, the : problem can be solved with the following code, expressed here in Python: : def max_subarray(A): : max_so_far = max_ending_here = 0 : for x in A:
|
q***e 发帖数: 474 | 16 这道题先说思路。
比如例子里头有5个数,就先找到所有subset的可能,就是5+4+3+2+1=15.如果是N个数
那就是N+(N-1)+...+1=N*(N+1)/2。
然后比较这些subset的和,找出最大的那个。
其实挺简单一道题,当时脑子反应比较迟钝。。。
【在 w******1 的大作中提到】 : 第一题有什么标准的解法么? 谢谢。
|
f****4 发帖数: 1359 | 17 int findMaximumSeq(int *arr, int size, int &start, int & end){
int curSum = 0, maxiSum = 0;
start = 0; end =0;
for(int i = 0, j = 0; j < size; j++)
{
curSum += arr[j];
if (curSum > maxiSum){
maxiSum = curSum;
start = i;
end = j;
}else if (curSum < 0){
i = j + 1;
curSum = 0;
}
}
return maxiSum;
}
void testFindMaximumSeq(){
int arr[] = {1, -2, -3, 4, 5, 7, -6};
int |
q***e 发帖数: 474 | 18 你这样的话如果整个array全是负数,你最后return的maxiSum是0啊,不对了。应该是
最大的那个负数。
【在 f****4 的大作中提到】 : int findMaximumSeq(int *arr, int size, int &start, int & end){ : : int curSum = 0, maxiSum = 0; : start = 0; end =0; : : for(int i = 0, j = 0; j < size; j++) : { : curSum += arr[j]; : if (curSum > maxiSum){ : maxiSum = curSum;
|
s******a 发帖数: 103 | 19 If they are all negative, then the maxiSum is 0. The subset we are looking
for is the empty set, which is a subset of any set.
【在 q***e 的大作中提到】 : 你这样的话如果整个array全是负数,你最后return的maxiSum是0啊,不对了。应该是 : 最大的那个负数。
|
y**i 发帖数: 1112 | 20 empty set的和为什么就是0呢
【在 s******a 的大作中提到】 : If they are all negative, then the maxiSum is 0. The subset we are looking : for is the empty set, which is a subset of any set.
|