Krish
BAN USERpublic class FindMaxFreq {
public static void main(String[] args) {
int arr[] = {2,30,15,10,8,25,80};
findTopTwoFreqDiff(arr);
}
public static void findTopTwoFreqDiff(int arr[])
{
int tempArr[] = new int[arr.length];
tempArr[0] = 0;
for (int i=1; i < arr.length; i++)
{
for (int j=0; j < i ; j++)
{
if (arr[i]> arr[j])
{
tempArr[i] = tempArr[j] + arr[i]-arr[j];
}
else
{
tempArr[i]=0;
}
}
}
int firstMax;
int secondMax;
if (tempArr[0] > tempArr[1])
{
firstMax = tempArr[0];
secondMax = tempArr[1];
}
else
{
firstMax = tempArr[1];
secondMax = tempArr[0];
}
for(int i=2; i< tempArr.length; i++)
{
if (firstMax < tempArr[i])
{
secondMax = firstMax;
firstMax = tempArr[i];
}
else
{
secondMax = Math.max(secondMax, tempArr[i]);
}
}
System.out.println("First Max :" + firstMax + " second max :"+ secondMax);
System.out.println("Max Frequency = " + (firstMax + secondMax) );
}
}
public boolean isWatchedFull (int videoLengthInSecs, VideoPart[] partArr)
{
boolean isFullWatched = false;
int totalTimeWatched = 0;
if (partArr.length==0)
{
return false;
}
if (partArr[0].startTime!=0)
{
return false;
}
totalTimeWatched = partArr[0].endTime - partArr[0].startTime;
for (int i=1; i< partArr.length; i++)
{
if (partArr[i-1].endTime!= partArr[i].startTime)
{
break;
}
totalTimeWatched += partArr[i].endTime - partArr[i].startTime;
}
if (totalTimeWatched == videoLengthInSecs)
{
isFullWatched = true;
}
return isFullWatched;
}
I think it can be achieved in 4 steps.
- Krish September 23, 2015cat --> cot --> dot--> dog