Pergunta de entrevista da empresa Roblox

Phone interview Qn 1: Write a program to merge two sorted arrays. Qn 2: Merging 'n' sorted arrays.

Resposta da entrevista

Sigiloso

2 de fev. de 2020

// Merge two sorted arrays // Merge two sorted arrays (maintaining sort order) void TwoArrayMerge() { int nArray1[] = { 0, 5, 7, 9 }; int nArray2[] = { 1, 2, 3, 6, 8 }; unsigned short nArray1Size = sizeof(nArray1) / sizeof(int); unsigned short nArray2Size = sizeof(nArray2) / sizeof(int); HANDLE hHeap = GetProcessHeap(); int* pArray = (int*)HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(int) * (nArray1Size + nArray2Size)); if (pArray) { unsigned short nArray1Index = 0; unsigned short nArray2Index = 0; unsigned short nArrayIndex = 0; while ((nArray1Index < nArray1Size) && (nArray2Index < nArray2Size)) { pArray[nArrayIndex++] = (nArray1[nArray1Index] < nArray2[nArray2Index]) ? nArray1[nArray1Index++] : nArray2[nArray2Index++]; } // If there are left-overs, assign them... while (nArray1Index < nArray1Size) { pArray[nArrayIndex++] = nArray1[nArray1Index++]; } while (nArray2Index < nArray2Size) { pArray[nArrayIndex++] = nArray2[nArray2Index++]; } HeapFree(hHeap, 0, pArray); } }