Code:
Sort the array using merg sort O(nlogn)
Search the Array : This one has the time complexity O(n3)
<script>
var arr=[“12”,”10”,”9”,”7”,”3”,”1”,”0”];
var arr=[“15”,”10”,”7”,”2”,”2”,”2”,”2”];
var maxSum=maxItemSum(arr);
function maxItemSum(a)
{
var len=a.length;
var i=0,j=0,k=0;
var flag=’notfound’;
for(i=0;i<len-2;i++)
{
for(j=i+1;j<len-1;j++)
{
for(k=j+1;k<len;k++)
{
if(parseInt(a[i])==parseInt(a[j])+parseInt(a[k]))
{
document.write(a[i]+’equals’+a[j]+’plus’+a[k]+’<br/>’);
flag=’found’;
break;
}
}
if(flag==’found’)
break;
}
if(flag==’found’)
break;
}
}
</script>
A better Optimized version :
<script>
var arr=[“12”,”10”,”9”,”7”,”3”,”2”,”0”];
/*var arr=[“15”,”10”,”7”,”2”,”2”,”2”,”2”];*/
var maxSum=maxItemSum(arr);
document.write(maxSum);
function maxItemSum(a)
{
var lenF=a.length;
var i=0;
var j=0;
var flag=’notfound’;
for(i=0;i<lenF;i++)
{
j=i+1;
var len=a.length;
while(j<(len-1) && flag==’notfound’)
{
if(parseInt(a[i])==parseInt(a[j])+parseInt(a[len-1]))
{
flag=’found’;
break;
}
else if(parseInt(a[i])>parseInt(a[j])+ parseInt(a[len-1]))
{
len—;
}
else if(parseInt(a[i])<parseInt(a[j])+parseInt(a[len-1]))
{
j++;
}
if(flag==’found’)
break;
}
if(flag!=’found’)
return flag;
else
return a[i];
}
}
</script>
Code:
<script>
var str1=”aBcd”;
var str2=”ABC”;
var result=lexicographicComparison(str1,str2);
if(result==1)
{
document.write(‘str1 is greater’);
}
else if(result==-1)
{
document.write(‘str2 is greater’);
}
else if(result==0)
{
document.write(‘str1 is equal to str2’);
}
function lexicographicComparison(str1,str2)
{
var len1=str1.length;
var len2=str2.length;
var sum1=0;
var sum2=0;
var i=0;
while(i<len1)
{
if(str1.charCodeAt(i)<97)
sum1+=str1.charCodeAt(i)+32;
else
sum1+=str1.charCodeAt(i);
i++;
}
i=0;
while(i<len2)
{
if(str2.charCodeAt(i)<97)
sum2+=str2.charCodeAt(i)+32;
else
sum2+=str2.charCodeAt(i);
i++;
}
document.write(sum1);
document.write(‘<br/>’+sum2+’<br/>’);
if(sum1>sum2)
return 1;
else if(sum1<sum2)
return -1;
else if(sum1 ==sum2)
return 0;
}
</script>