g*****k 发帖数: 623 | 1 这里取a+b,a是来自A[]数组, b来自B[]数组。
没有完全看懂。
但是
if (A[array1.first]+B[array1.second]<=B[array2.first]+A[array2.second]){
res[i] = A[array1.first]+B[array1.second;
if (array1.second = m - 1)
array1.second = array2.first +1;
else
array 1: 0 3 ....
array 2: 2 3 4....
array1[0] + array1[1] < array1[0] + array2[2] < array2[0] + array2[1]
array2[0] + array1[1] = array2[0] + array2[1]
看不出来array1[0] + array2[2] 怎么handle的. |
|
g*****k 发帖数: 623 | 2 这里取a+b,a是来自A[]数组, b来自B[]数组。
没有完全看懂。
但是
if (A[array1.first]+B[array1.second]<=B[array2.first]+A[array2.second]){
res[i] = A[array1.first]+B[array1.second;
if (array1.second = m - 1)
array1.second = array2.first +1;
else
array 1: 0 3 ....
array 2: 2 3 4....
array1[0] + array1[1] < array1[0] + array2[2] < array2[0] + array2[1]
array2[0] + array1[1] = array2[0] + array2[1]
看不出来array1[0] + array2[2] 怎么handle的. |
|
C*N 发帖数: 1792 | 3 #include
#include
#include
using namespace std;
struct currentListStruct
{
double A;
double B;
std::vector values;
};
void getMaxNSum (std::vector & array1, std::vector & array2,
currentListStruct & cur, int N)
{
if (array1.empty () || array2.empty ()) {
return;
}
cur.A = array1.back();
cur.B = array2.back();
cur.values.push_back (cur.A + cur.B);
double a=array1.front()-1, b=array2.front()-1;
... 阅读全帖 |
|
d**********o 发帖数: 1321 | 4 最终版本的compiler测试结果
=================================================
Output of Building User Code
Explode the tar
c-.l
c-.y
scanType.h
makefile
symtab.h
symtab.cpp
emitCode.h
emitCode.cpp
20131214164956-huang-CS445-F13-A5.tar: POSIX tar archive (GNU)
Tests: directory
c-.l: lex description text
c-.y: lex description text
emitCode.cpp: ASCII C++ program text
emitCode.h: ... 阅读全帖 |
|
d**********o 发帖数: 1321 | 5 最终版本的compiler测试结果
=================================================
Output of Building User Code
Explode the tar
c-.l
c-.y
scanType.h
makefile
symtab.h
symtab.cpp
emitCode.h
emitCode.cpp
20131214164956-huang-CS445-F13-A5.tar: POSIX tar archive (GNU)
Tests: directory
c-.l: lex description text
c-.y: lex description text
emitCode.cpp: ASCII C++ program text
emitCode.h: ... 阅读全帖 |
|
g*****k 发帖数: 623 | 6 不明白你说的,题目没说每行和每列之间是个定值。
那我不才,给出个想法,你看看是不是队的。
pair array1;
pair array2;
array1.first = 1;
array1.second = 2;
array2.first = 1;
array2.second =2;
size1 = m;
size2 = n;
res[0] = A[0]+B[0];
for (i=1; i
if (A[array1.first]+B[array1.second]<=B[array2.first]+A[array2.second]){
res[i] = A[array1.first]+B[array1.second;
if (array1.second = m - 1) {
array1.second = array2.first +1;
array1.first += 1;
}
else
array1.second+=1;
}
else {
... 阅读全帖 |
|
g*****k 发帖数: 623 | 7 刚实验了一下,找到了个bug,现在修改了下,简单测试结果是对的,而且是O(K)复杂度。
不明白你说的,题目没说每行和每列之间是个定值。
那我不才,给出个想法,你看看是不是队的。
pair array1;
pair array2;
array1.first = 1;
array1.second = 2;
array2.first = 1;
array2.second =2;
size1 = m;
size2 = n;
res[0] = A[0]+B[0];
for (i=1; i
if (A[array1.first]+B[array1.second]<=B[array2.first]+A[array2.second]){
res[i] = A[array1.first]+B[array1.second;
if (array1.second = m - 1) {
array1.second = array2.first +1;
array1.first += 1;
}
... 阅读全帖 |
|
g*****k 发帖数: 623 | 8 不明白你说的,题目没说每行和每列之间是个定值。
那我不才,给出个想法,你看看是不是队的。
pair array1;
pair array2;
array1.first = 1;
array1.second = 2;
array2.first = 1;
array2.second =2;
size1 = m;
size2 = n;
res[0] = A[0]+B[0];
for (i=1; i
if (A[array1.first]+B[array1.second]<=B[array2.first]+A[array2.second]){
res[i] = A[array1.first]+B[array1.second;
if (array1.second = m - 1) {
array1.second = array2.first +1;
array1.first += 1;
}
else
array1.second+=1;
}
else {
... 阅读全帖 |
|
g*****k 发帖数: 623 | 9 刚实验了一下,找到了个bug,现在修改了下,简单测试结果是对的,而且是O(K)复杂度。
不明白你说的,题目没说每行和每列之间是个定值。
那我不才,给出个想法,你看看是不是队的。
pair array1;
pair array2;
array1.first = 1;
array1.second = 2;
array2.first = 1;
array2.second =2;
size1 = m;
size2 = n;
res[0] = A[0]+B[0];
for (i=1; i
if (A[array1.first]+B[array1.second]<=B[array2.first]+A[array2.second]){
res[i] = A[array1.first]+B[array1.second;
if (array1.second = m - 1) {
array1.second = array2.first +1;
array1.first += 1;
}
... 阅读全帖 |
|
z***e 发帖数: 5393 | 10 actually don't need to use b-search, you can make decision while sorting.
find a common number, using quick sort, the firt iteration will divide to:
A: array1, array2
B: array1, array2
if (A.array1.size == B.array1.size && A.array2.size == B.array2.size)
recursively do this until the array size is different.
if A == B, the complexity is at most O(nlgn) (quick sort);
otherwise it's smaller.
so the total complexity <=O(nlgn) |
|
l*****a 发帖数: 14598 | 11 比较array1[k/2] array2[k/2]
if = ,return
if array1[k/2]>array2[k/2] , array2[0..k/2]are definitely in the k smallest
then choose k/2 smallest
from array1[0..len1-1-k/2] array2[k/2+1..len2-1]
...
pay attention the boundary of the array. |
|
e********r 发帖数: 2352 | 12 在本地的考试中心预约的上机考试。考试有三个部分,1.数学题,2.给出一种新的编程
语言的语法,回答相应问题,3. Programming Test 要求速度和准确性both important
Programming test 答得不好,肯定不行了,把面试题发上来让大家做做。做了3个半小
时,快累死了。
数学题基本上就是脑筋急转弯,举几个例子
1. You have three kinds of magazines, all but two are Times, all but two are
Science, all but two are Nature. How many magazines in total do you have?
3 books
2. Only one of the answers is true
A. All of the below are true
B. All answers are true
C. One of the above is true
D. All of the above are true
E. None of the above ar... 阅读全帖 |
|
e********r 发帖数: 2352 | 13 bool array [] = {T, T, T, T, T, T, T, T, T, …}
unsorted int array
int array2 [] = {3, 1, 2, 0, -1, …}
for(int i = 0; i < array2.size(); i++)
{
if(array2[i] > 0)
array[array2[i]] = false;
}
for(int i = 0; i < array.size(); i++)
if(array[i])
return i;
刚想的答案,看一下符合你的要求吗. |
|
j**7 发帖数: 143 | 14
两个String array: array1 and array2. 根据array2来排序array1.
Ex. array1={"abc","ddd"}; array2={"ddd","abc","ooo"};
在array2,"ddd"比“abc"要小,所以array1排序后为{"ddd","abc"}. |
|
j**7 发帖数: 143 | 15
HashMap map=new HashMap();//global
void sort(String [] array1,String[] array2)
{
//array2是已经排序好的。
for(int i=0;i
{
map.put(array2[i],i);
}
Collections.sort(array1,new Test());
}
public static class Test implements Comparator {
public int compare(String s1, String s2) {
Integer t1=map.get(s1);
Integer t2=map.get(s2);
return t1-t2;
}
} |
|
c******w 发帖数: 1108 | 16 真的简单。每个数组个一个指针扫。O(n m)搞定
// assume both input arrays are not null, but can be empty
i=0;
j=0;
output = [];
while(i < arrry1.length()) {
if (j >= array2.length() || array1[i] < array2[j]) {
output[] = array1[i];
i ;
}
else if (array1[i] == array2[j])
i ;
else // array1[i] > array2[j]
j ;
}
return output; |
|
d**********o 发帖数: 1321 | 17 所有测试文件
aamain2.c-
aamain2.expected
aamain2.in
aamain2.out
aamain2.tm
aamain3.c-
aamain3.expected
aamain3.out
aamain4.c-
aamain4.expected
aamain4.out
aamain4.tm
aamain5.c-
aamain5.expected
aamain5.out
aamain.c-
aamain.expected
aamain.out
aamain.tm
aasmaller.c-
aasmaller.expected
aasmaller.out
all.c-
allErrors2.c-
allErrors2.expected
allErrors2.in
allErrors2.out
allErrors.c-
allErrors.expected
allErrors.in
allErrors.out
all.expected
all.in
all.out
arglist2.c-
arglist2.expected
arglist2.out
arglist... 阅读全帖 |
|
d**********o 发帖数: 1321 | 18 所有测试文件
aamain2.c-
aamain2.expected
aamain2.in
aamain2.out
aamain2.tm
aamain3.c-
aamain3.expected
aamain3.out
aamain4.c-
aamain4.expected
aamain4.out
aamain4.tm
aamain5.c-
aamain5.expected
aamain5.out
aamain.c-
aamain.expected
aamain.out
aamain.tm
aasmaller.c-
aasmaller.expected
aasmaller.out
all.c-
allErrors2.c-
allErrors2.expected
allErrors2.in
allErrors2.out
allErrors.c-
allErrors.expected
allErrors.in
allErrors.out
all.expected
all.in
all.out
arglist2.c-
arglist2.expected
arglist2.out
arglist... 阅读全帖 |
|
X****r 发帖数: 3557 | 19 这几个函数各不相同。1的参数是对3x4的二维int数组的引用,2的参数是
指向3x4的二维int数组的指针,而3的参数是对长度为4的一维数组的指针,
因为函数形参出现T[]类型的时候会作为T*来处理。见C++ 2003 8.3.5
3. ... After determining the type of each parameter,
any parameter of type “array of T” or “function
returning T” is adjusted to be “pointer to T” or
“pointer to function returning T,” respectively.
比如
void func1(int (&array)[3][4]) {}
void func2(int (*array)[3][4]) {}
void func3(int array[3][4]) {}
int main() {
int array[3][4];
func1(array);
func2(&array);
func3(a... 阅读全帖 |
|
Q******e 发帖数: 85 | 20 It can be log(m+n). I can not remember clearly. The basic idea is
suppose array1 = left1[..], median1, right1[...]
suppose array2 = left2[..], median2, right2[...]
we compare meidan1 and median 2,
if meidan1 < median 2
then array1 = right[1], median1 = find_median(array1 ); // array
array2 = left[2], median2 = find_median(array2 );
Repeat until you have two elements left. This is your median.
Maybe some details missing here. |
|
h***s 发帖数: 1716 | 21 昨晚回家查了关于entropy的书,我猜的应该可以.
two-lists-of-values-are-same (array1 array2)
loop array1 and array2:
collect sum1, sum2, minimum1, minimum2, N
if NOT (sum1==sum2 & minimum1==minimum2):
return false.
initialize:
sucker1=0, sucker2=0,
normalization=sum1-N*minimum1
loop array1 and array2:
p1 = (element1 - minimum1) / normalization
p2 = (element2 - minimum2) / normalization
sum p1*捞个(p1) into sucker1
sum p2*捞个(p2) into sucker2
if (sucker1==sucker2):
return true;
else
return false.
显然计算时间循 |
|
b*******y 发帖数: 1240 | 22 以下程序
copyto和clone都执行shallow copy,但是为什么程序里面反映不出来,谢谢
int[] array = new int[] { 1, 2, 3, 4, 5, 6 };
//create shallow copy by CopyTo
//You have to instantiate your new array first
int[] array2 = new int[myarray.Length];
//but then you can specify how many members of original array yo
u would like to copy
array.CopyTo(array2, 0);
//create shallow copy by Clone
int[] array1;
//here you don't nee... 阅读全帖 |
|
发帖数: 1 | 23 有两个有序的array of strings,
array1 = ["abc","def","ghi","jkl"]
array2 = ["abc","jkl"]
返回所有在array1但不在array2的单词: ["def","ghi"]
array1 = ["Zebra"]
array2 = ["Antelope","Bison","Cow"]
返回 ["Zebra"]
限制: 不允许吧两个array加入两个hashmap或set然后比较两者差。 |
|
m*****n 发帖数: 2152 | 24 那是缺一个数,这个可能缺n个数。
貌似可以这么做
#include
using namespace std;
int main ()
{
unsigned int array[100] = {/*randnumber*/};
unsigned int array2[100] = {0};
for(int i=0; i<100; ++i) array2[array[100]-1] = 1;
int j=0;
while(array2[j]) ++j;
cout << j+1 << endl;
} |
|
a****n 发帖数: 1887 | 25 在两个数组上用binary search
if arry1mid < array2mid, 去掉前arry1前一半, array2 后一半
else 去掉arry1 后一半,array2 前一半 |
|
m******9 发帖数: 968 | 26 这个可以log2k找到
你从array 1中取前k个数, 从array2中也取前k个数. 然后对取出来的这2个子数组, 找
median, 就是整个array1和array2的kth min了 |
|
m*****g 发帖数: 226 | 27 void MaxPairs(int *array1, int lenArray1, int *array2, int lenArray2, int
numPairs)
{
int end1, end2, cnt;
end1=end2=1; //end of the elements that are used.
cnt=2; //how many elements we have gathered
if(numPairs > (lenArray1*lenArray2)) return;
/*take care of when lenArray1 or lenArray2 is 1*/
while(cnt
{
if(array1[end1]>array2[end2]) end1++;
else end2++;
cnt = end1*end2;
}
printf("%d %d\n", end1, end2);
int |
|
g*********s 发帖数: 1782 | 28 3、算法、写代码:
给了两个数组,要求找出他们之中相同的元素,并且将相同的元素存储在一个新的数组
里,再输出。
如果数组里有重复的元素,比如array1中有四个5,array2中有两个5,那么新数组里只
存储两个
5。要求我写代码,再念给他听。
this one also confusing. if array1 has 1 "5" and array2 has 1 "5" too.
then new array has 2 "5" or 1 "5"?
looks like it's trying to implement set union. but why allow the
duplicates... |
|
a********1 发帖数: 750 | 29 早上电面的题目,
比如 "a" "c" 和"a" "b" "a"
要求输出“a”
第一想法是用hash table, 把smaller array的element都放进去。然后遍历array2。
忘了处理array2本身的重复情况,被面试官指出来了。
第二想法是sort
后来面试官问不用external ,能不能linear , 没想法。又提示说对于“a” "b" "a"的
第二个a如何知道已经被找过了,,不sort不用external storage还是没想法
最后问了问两个的复杂度,他说ok 就让我问他问题了
感觉很不好 |
|
h*****g 发帖数: 312 | 30 Check if identical BSTs from given number streams
Question: You are given 2 number streams. You need to find whether they will
create the same BST or not.
Example:
Array1:10 5 20 15 30
Array2:10 20 15 30 5
Result: True
Array1:10 5 20 15 30
Array2:10 15 30 20 5
Result: False |
|
c********p 发帖数: 1969 | 31 怎么会是4次啊?
比如array 1 和array2 比较了之后 array 1里放的都是比array2小的,
然后array 3再和array1比较,array1里边放的是比array3小的,但未必array 3放的是
比array 2小的。。。
这样下去,,要比较多少次?
另外,又想起来一个问题,怎样in place的sort两个sorted array啊,就算是merge
sort也不是in place的。 |
|
z*****u 发帖数: 51 | 32 我可能题目没有表述清楚:
这道题是说先根据array2的出现顺序排序,再把array1里面的剩余元素排序
output: 5, 2, 6, 8, 3, 0, 4
前面5个是array2里面出现的元素,所以先排,后面0, 4是按照正常顺序排列 |
|
发帖数: 1 | 33 什么时候面的,是在Mountain View面的吗?是SWE吗?你是new graduate还是有工作经
验的啊。
第二题,个人理解是。数组一,排序。用数组二做Index再重新Re order数组一就可以
了好像。
qsort(array1.begin(), array1.end());
for (int i = 0; i < array2.size(); i++) {
out[i] = array1[array2[i]];
}
array1 = out;
另外网上不是说不提倡秒过吗?要么说见过,要么思考推理一下。
电面那题到是挺难的。 |
|
|
d**********o 发帖数: 1321 | 35 简化数据
261个test文件:
完全正确的测试文件117个,占44.8%;
完全没做的测试文件 19个,占 7.3%;
其余半对的不对的,我自己也没时间去数
就让同专业的小伙伴们帮忙来数、来作鉴定、指导我吧。
compiler框架搭起来,多少也该给些分的吧~~
我不认为难,但我真的是没有足够的时间,实在是写不完这牛毛一样多的测试~~ *_^
上一贴最后总结部分重贴如下(不同专业的读者可以完全忽略上一贴):
a00 (Output OK) a00 (Output OK)
a001 (Output OK) a001 (Output OK)
a002 (Output OK) a002 (Output OK)
a009 (Output OK) a009 (Output OK)
a01 (Output OK) ... 阅读全帖 |
|
d**********o 发帖数: 1321 | 36 简化数据
261个test文件:
完全正确的测试文件117个,占44.8%;
完全没做的测试文件 19个,占 7.3%;
其余半对的不对的,我自己也没时间去数
就让同专业的小伙伴们帮忙来数、来作鉴定、指导我吧。
compiler框架搭起来,多少也该给些分的吧~~
我不认为难,但我真的是没有足够的时间,实在是写不完这牛毛一样多的测试~~ *_^
上一贴最后总结部分重贴如下(不同专业的读者可以完全忽略上一贴):
a00 (Output OK) a00 (Output OK)
a001 (Output OK) a001 (Output OK)
a002 (Output OK) a002 (Output OK)
a009 (Output OK) a009 (Output OK)
a01 (Output OK) ... 阅读全帖 |
|
f********n 发帖数: 6465 | 37 用EXCEL算TTEST.
问题一,TAILS的=1,=2单尾和双尾有什么区别呢?要怎么选择?
问题二,TYPE的1,2,3又有什么区别要怎么选择呢?
成对,等方差双样本,异方差双样本有什么区别啊?
同一个细胞系,用不同的浓度1uM,1mM的AGONIST处理相同细胞系的相同数量的细胞,每种
浓度都做3次实验(处理后可以产生cGMP)_,看这两种浓度处理的细胞得到的cGMP量是否
有显著的差别.TYPE选什么?
问题三,在用TTEST之前,是否要用FTEST先算一算看能否用TTEST,还是说可以直接用
TTEST?
TTEST(array1,array2,tails,type)
Array1 为第一个数据集。
Array2 为第二个数据集。
Tails 指示分布曲线的尾数。如果 tails = 1,函数 TTEST 使用单尾分布。如果
tails = 2,函数 TTEST 使用双尾分布。
Type 为 t 检验的类型。
如果 type 等于 检验方法
1 成对
2 等方差双样本检验
3 异方差双样本检验 |
|
B*********L 发帖数: 700 | 38 1.我想计算两个时间序列的correlation,有没有什么办法让最近的数据有更多的权重?
2.怎样计算两个array(array1(x,y)和array2(a,b))的correlation?如果可以
,这个结果是一个数还是一个组数?什么含义?
俺读书少,国内80名以后本科水平,怕听不懂,所以请将军们多指点两句。谢谢。 |
|
m*****k 发帖数: 64 | 39 这个好像边界值有些问题吧。
比如,array1: 1,3,5,7,9 array2: 2,4,6,8,10 k=4
返回5. 但其实因该是8.
需要改一改吧。 |
|
B*******1 发帖数: 2454 | 40 array1 长度M,array2长度N,要求O(logM+logN)
看了那本Algorithms for interviews,死活看不懂,Google老印写的书不但英文难懂
,而且错漏很多,真不懂这书都可以印刷出来,code都是错的,请高人指教一下。 |
|
z*s 发帖数: 209 | 41 在网上申请的SDE职位。一共两轮电话面试,一轮onsite。
第一轮电话面试:
1、解释Hash Table,包括“可以用什么数据结构实现hash table”,“what is a
good hash function”,“什么是load factor”。
2、算法:删除一个给定数列中重复的元素。
3、merge两个有序数组。要求先给他解释算法,再写代码。他当时给了我十分钟的时间
,让我写好以后发到他邮箱里。
4、OOD:设计一个汽车出租(Car Rental Agency)的系统。他先问我如果要实现
vehicle search,需要哪些类;然后又问要实现rent a car,又需要哪些类;最后问如
果快到了交车截至时间,需要向用户发送提醒的邮件,应该怎么做。
第二轮电话面试:
1、Favorite project。
2、你最喜欢的排序算法,它是怎么工作的,有什么优点和缺点。我说的是选择排序,
他又问有什么排序算法比它的时间复杂度小,并且同样要描述一下它们是怎么工作的。
3、算法、写代码:
给了两个数组,要求找出他们之中相同的元素,并且将相同的元素存储在一个新的数组
里,再输出。如... 阅读全帖 |
|
z*s 发帖数: 209 | 42 如果array1有一个5,array2也有一个5,新的数组应该只有一个5。应该是取同一数字
的个数较小的那个。 |
|
y***m 发帖数: 7027 | 43 可以么?
在网上申请的SDE职位。一共两轮电话面试,一轮onsite。
第一轮电话面试:
1、解释Hash Table,包括“可以用什么数据结构实现hash table”,“what is a
good hash function”,“什么是load factor”。
2、算法:删除一个给定数列中重复的元素。
hashmap 记录,++, 删除 2的
3、merge两个有序数组。要求先给他解释算法,再写代码。他当时给了我十分钟的时间
,让我写好以后发到他邮箱里。
k=i+j
a[i],b[j],c[k]
int ii=jj=kk=0;
while(kk
if(a[ii]>b[jj]){
c[kk]=b[jj];
jj++;
} else {
c[kk]=a[ii];
ii++;
}
kk++;
}
4、OOD:设计一个汽车出租(Car Rental A... 阅读全帖 |
|
h*****g 发帖数: 312 | 44 Let’s called array1 as A and array2 as B, each with size m and n.
正常的话,O(m+n)应该可以搞定,但是。。。
if n is very very large, the memory can not hold it.
i) What if elements of array B is stored on disk, and the memory is limited
such that you cannot load all elements into the memory at once?
ii) How will the complexity change in this case? Are there any factors you
need to consider?
iii) How do you change your solution to adapt to this situation?
如果用external sort类似的方法,该咋做呢? |
|
k*j 发帖数: 153 | 45 同不理解如果array2有重复。为什么需要特别处理? |
|
y*******g 发帖数: 6599 | 46 为什么不可嫩?
1423
76589
merge的时候第一次取array 1: 1, 第二次还是取array1 : 14, 第三次取array2: 147
.. |
|
y*******g 发帖数: 6599 | 47 为什么不可嫩?
1423
76589
merge的时候第一次取array 1: 1, 第二次还是取array1 : 14, 第三次取array2: 147
.. |
|
P***o 发帖数: 96 | 48 第一个能解释一下为什么是true么?
array2的5在10的右边为什么是bst?
谢谢
will |
|
u***n 发帖数: 117 | 49 怎么没看太懂题目啊?output具体是要根据array2来arrange array1吗?那补充的例子
该如何解释啊?求指点 |
|
D****6 发帖数: 278 | 50 首先每个array都是sorted是吧,arr1和2merge完之前没其他arr的事啊,完后生成新的
sorted arr在和3 merge. 还有为什么“ array 1里放的都是比array2小的”?你来个
简单的实际的例子。 |
|