Goldman Sachs Interview Question
Software Engineer / DevelopersProblem:
================
For 0<=i<=9,
array defined is T1[i] = i .
Now construct another array T2[j]
for 0<=i<=9
where T2[j]==m
if T1[i] appears m times in T2[j].
Example:
================
T1[123456789]
where SIZE1=9
T2[111123456]
SIZE BASED ON M=4
ALGO:
================
FOR EACH T1[I] CHECK ALL T1[J] VALUES AND INCREASE THE COUNT
COMPARE THE COUNT WITH M
IF COUNT==M THEN
ENTER ALL THE VALUES IN T2[]
ELSE REPEAT
CODE:
================
PRIVATE ARRAY CONSTRUCTARRAY(ARRAY T1[] , INT SIZE)
{
FOR(INT I=0;I<SIZE-1;I++)
{
FOR(INT J=0;J<SIZE-1;J++)
{
IF(T1[I]==T1[J])
{
COUNT++;
INT ELEMENT=T[I];
}
}
IF(COUNT==M)
{
FOR(K=O;K<M;K++)
{
T2[K]=ELEMENT;
}
}
}
RETURN T2[K];
}
ORDER:
================
O(N^2)
T1=0123456789
- pengzhang130 April 20, 2010T2=6210001000
for (int i = 1; i< 10000000; i++){
int temp2 = i;
for (int j = 0; j<10 ; j++) {
Temp[j] = temp2%10;
temp2 = (int)(temp2/10);
}
//output(Temp);
if ( count(Temp,T1[0])==Temp[0] &&
count(Temp,T1[1])==Temp[1] &&
count(Temp,T1[2])==Temp[2] &&
count(Temp,T1[3])==Temp[3] &&
count(Temp,T1[4])==Temp[4] &&
count(Temp,T1[5])==Temp[5] &&
count(Temp,T1[6])==Temp[6] &&
count(Temp,T1[7])==Temp[7] &&
count(Temp,T1[8])==Temp[8] &&
count(Temp,T1[9])==Temp[9]) {
output(Temp);
continue;
}
}
System.out.println(" finish ");