hey
ich versuch mich grade an Teile und Herrsche und bekomme die Aufgabe ums verrecken nicht hin. Vielleicht kann mir hier ja jemand einen Ansatz geben, wie ich die Aufgabe am besten lösen kann.
Meiner war, zu überprüfen ob das längste Teilarray in der linken bzw. rechten Hälfte oder in der "Mitte" vorkommt. Jedoch funktioniert bisher kein Fall bei mir...
hier mein Code: //ja ich weiß, er ist schlecht
Ob er in der Mitte vorkommt, habe ich bisher noch gar nicht implementiert, wie man sehen kann.
ich versuch mich grade an Teile und Herrsche und bekomme die Aufgabe ums verrecken nicht hin. Vielleicht kann mir hier ja jemand einen Ansatz geben, wie ich die Aufgabe am besten lösen kann.
Meiner war, zu überprüfen ob das längste Teilarray in der linken bzw. rechten Hälfte oder in der "Mitte" vorkommt. Jedoch funktioniert bisher kein Fall bei mir...
hier mein Code: //ja ich weiß, er ist schlecht
Code:
public static int longestSubArray(int[]array,int left,int right)
{
int q=(right+left)/2;
if(array.length==0)
{
return 0;
}
if(array.length==1)
{
return 1;
}
if(left==right)
{
return 0;
}
if(left==q)
{
return 0;
}
if(right==q)
{
return 0;
}
if(array[left]>=longestSubArray(array,left+1,q))
{
return longestSubArray(array,left+1,q)+1;
}
else
{
return longestSubArray(array,q+1,right)+1;
}
}
Ob er in der Mitte vorkommt, habe ich bisher noch gar nicht implementiert, wie man sehen kann.