QUESTION

Text
Image

# Solve in java3. Highly Profitable Months The stocks of a company are being surveyed to analyse the net profit of the company over a period of several months. For an analysis parameter $k$, a group of $k$ consecutive months is said to be highly profitable if the values of the stock prices are strictly increasing for those months. Given the stock prices of the company for $n$ months and the analysis parameter $k$, find the number of highly profitable months. Example Let the number of months be $n=8$, the stock prices be stockPrices $=[5,3,5,7,8]$ and the analysis parameter be $k=3$. Following are the groups of $k$ months in which the stock prices are strictly increasing: Hence the answer is 2. Function Description Complete the function countHighlyProfitableMonths in the editor below. countHighyProfitableMonths has the following parameters: int stockPrices[n]t the stock prices for $n$ months int $k$ : the analysis parameter Returns int: the number of highly profitable months Constraints - $1 \leq k \leq n \leq 2 \cdot 10^{5}$ - $1 \leq \operatorname{stockPrices[i]\leq 10^{9}}$ Input Format For Custom Testing Sample Case 0 Sample Input For Custom Testing $\begin{array}{lll}\text { STDIN } & & \text { FUNCTION } \\ -6 & \rightarrow & \text { stockPrices [ ] size, } n=6 \\ 6 & \rightarrow & \text { stockPrices }=[1,2,3,3,4,5] \\ 1 & & \\ 2 & & \\ 3 & & \\ 3 & & \\ 4 & & k=3 \\ 3 & \rightarrow & \end{array}$ STDIN FUNCTION $\rightarrow$ stockPrices[] size, $n=6$ $\rightarrow \quad$ stockPrices $=[1,2,3,3,4,5]$ $1 \rightarrow$ stockPrices $=[1,2,3,3,4,5]$ 3 4 $3 \rightarrow \mathrm{k}=3$ Sample Output 2 Explanation Following are the groups of $k$ months which are highly profitable: - Months 1 to $3:[1,2,3,3,4,5]$ - Months 4 to $6:[1,2,3,3,4,5]$ Hence the answer is 2.Starter code import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java.util.regex.*;class Result { /* * Complete the 'countHighlyProfitableMonths' function below. * * The function is expected to return an INTEGER. * The function accepts following parameters: * 1. INTEGER_ARRAY stockPrices * 2. INTEGER k */ public static int countHighlyProfitableMonths(List<Integer> stockPrices, int k) { }}public class Solution { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out)); int stockPricesCount = Integer.parseInt(bufferedReader.readLine().trim()); List<Integer> stockPrices = new ArrayList<>(); for (int i = 0; i < stockPricesCount; i++) { int stockPricesItem = Integer.parseInt(bufferedReader.readLine().trim()); stockPrices.add(stockPricesItem); } int k = Integer.parseInt(bufferedReader.readLine().trim()); int result = Result.countHighlyProfitableMonths(stockPrices, k); bufferedWriter.write(String.valueOf(result)); bufferedWriter.newLine(); bufferedReader.close(); bufferedWriter.close(); } }Starter input: EXAMPLE 1:8 7 1 2 3 6 9 12 3 2EXAMPLE 2:4 1 2 3 4 4EXAMPLE 3:6 1 2 3 3 4 5 3  