Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

Bitonic

public class Substring {
    public static void maxBitonicSubstring(int[] arr) {
            //longest increasing subarray
        int[] increase = new int[arr.length];
        increase[0] = 1;
        for (int i = 1; i < arr.length; i++) {
            increase[i] = 1;
            if (arr[i - 1] < arr[i]) {
                increase[i] = increase[i - 1] + 1;
            }
        }
	//longest decreasing subarray
        int[] decrease = new int[arr.length];
	decrease[arr.length - 1] = 1;
	for (int i = arr.length - 2; i >= 0; i--) {
            decrease[i] = 1;
            if (arr[i] > arr[i + 1]) {
		decrease[i] = decrease[i + 1] + 1;
            }
	}
	//find max Bitonic subarray
	int maxLen = 1;
	int start = 0, end = 0;
	for (int i = 0; i < arr.length; i++) {
            if (maxLen < increase[i] + decrease[i] - 1) {
                maxLen = increase[i] + decrease[i] - 1;
                start = i - increase[i] + 1;
                end = i + decrease[i] - 1;
            }
        }
        //return array
        int[] bitonic = new int[end - start + 1];
        for (int i = start; i <= end; i++) {
            System.out.print(arr[i] + " ");
        }
    }       
        public static void main(String[] args)
	{
		int[] A = { 3, 5, 8, 4, 5, 9, 10, 8, 5, 3, 4 };

		maxBitonicSubstring(A);
	}

}

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.