You have given 2 array. You need to find whether they will
create the same BST or not.
For example:
Array1:10 5 20 15 30
Array2:10 20 15 30 5
Result: True
Array1:10 5 20 15 30
Array2:10 15 20 30 5
Result: False
One Approach is Pretty Clear by creating BST O(nlogn) then
checking two tree for identical O(N) overall O(nlogn) ..we
need there exist O(N) Time & O(1) Space also without extra
space .Algorithm ??
DevoCoder
guest
Posted 3 months ago #
#define true 1
#define false 0
int check(int a1[],int a2[],int n1,int n2)
{
int i;
//n1 size of array a1[] and n2 size of a2[]
if(n1!=n2) return false;
//n1 and n2 must be same
for(i=0;i<n1-1;i++)
{
if( !( (a1[i]>a1[i+1]) && (a2[i]>a2[i+1]) )
) return false;
}
return true;//assumed that each array doesn't contain
duplicate elements in themshelves
}
No Answer is Posted For this Question
Be the First to Post Answer
What are derived data types in c?
Why should I prototype a function?
What is an auto variable in c?
Can U write a C-program to print the size of a data type without using the sizeof() operator? Explain how it works inside ?
What is the difference between #include <header file> and #include “header file”?
Is swift based on c?
Bit swapping
What is static volatile in c?
difference between spiral and waterfall model
Why is this loop always executing once?
what is the difference between <stdio.h> and "stdio.h"
14 Answers Invendis, Kanbay, Mastek, MathWorks,
What is the difference between specifying a constant variable like with constant keyword and #define it? i.e what is the difference between CONSTANT FLOAT A=1.25 and #define A 1.25