
Program to display maximum consecutive increasingly ordered substring
Program Plan:
- Create the class “Exercise22_01”.
- In the main() function,
- Read the input object to read the input from user.
- Call the function maxConsecutivesSortedSubstring()to print the maximum ordered substring.
- In the maxConsecutivesSortedSubstring(),
- Initially assign the maximum length of the substring.
- Use for() loop to execute the whole length of the string.
- Check the position of character at “i” and “i-1” and compare the values.
- If it is lesser, assign the “i” to “current”.
- If the condition not satisfies, then increment the length of maximum consecutive length.
- Use for() loop to iterate the string values.
- Check whether the current length of string is less than the largest string.
- If yes, then assign the current element length to largest subsequence element.
- Construct the character sequence using while() loop at the end of the string.
- Return the string.
- Check the position of character at “i” and “i-1” and compare the values.
- In the maxConsecutivesSortedSubstring1(),
- Use the for loop to iterate the whole length of string.
- Check the position of character at “i” and “i-1” and compare the values.
- Return the sorted substring.
- Use the for loop to iterate the whole length of string.
This program reads the input from user and displays the maximum consecutive increasingly ordered substring.
Program:
//Declare the class Exercise22_01
public class Exercise22_01 {
//Declare the main function
public static void main(String[] args) {
//Create the input object
java.util.Scanner input = new
java.util.Scanner(System.in);
//Read the string
System.out.print("Enter a string: ");
String s = input.nextLine();
/*Call the function maxConsecutiveSortedSubstring() to print the maximum consecutive sorted substring*/
System.out.println("Maximum consecutive substring
is " + maxConsecutiveSortedSubstring(s));
}
/*Define the function maxConsecutiveSortedSubstring()*/
public static String
maxConsecutiveSortedSubstring(String s) {
//Declare the array and assign the length of array
int[] maxConsecutiveLength = new int[s.length()];
//Assign the variable as 0
int current = 0;
//Execute the for loop until the condition fails
for (int i = 1; i < s.length(); i++) {
/*Check whether the character is smaller than
the current character stored in string*/
if (s.charAt(i) <= s.charAt(i - 1)) {
//Assign the “i” value to current variable
current = i;
} else {
/*Execute the for loop until the condition fails*/
for (int j = i - 1; j >= current; j--)
//Increment the sequence of length
maxConsecutiveLength[j]++;
}
}
//Assign the length of sequence at index “i”
int currentMaxLength = maxConsecutiveLength[0];
int index = 0;
//Execute the for loop until the length of string
for (int i = 0; i < s.length(); i++) {
//Check whether the condition is true
if (maxConsecutiveLength[i] > currentMaxLength)
{
/*Assign the maximum sequence length to current length */
currentMaxLength = maxConsecutiveLength[i];
//Assign the index position
index = i;
}
}
//Return the substring
return s.substring(index, index + currentMaxLength + 1);
}
//Define the function for the sorted substring
public static String
maxConsecutiveSortedSubstring1(String s) {
//Assign the current length
int currentMaxLength = 1;
//Assign the last index of sorted substring
int lastIndexOfMaxConsecutiveSortedSubstring = 0;
//Assign the possible length
int possibleMaxLength = 1;
//Execute the for loop until it fails
for (int i = 1; i < s.length(); i++) {
//Check the position of the string
if (s.charAt(i) > s.charAt(i - 1)) {
//Check the condition
if
(lastIndexOfMaxConsecutiveSortedSubstri
ng == i - 1) {
/* Add the max consecutive substring*/
currentMaxLength++;
/*Add the index of max consecutive substring*/
lastIndexOfMaxConsecutiveSortedSub
string++;
//If condition not satisfies
} else {
//Increment the length
possibleMaxLength++;
//Check the condition
if (possibleMaxLength >
currentMaxLength) {
/*Assign the possible length to current maximum length*/
currentMaxLength =
possibleMaxLength;
/*Assign the index of the string*/
lastIndexOfMaxConsecutiveSort
edSubstring = i;
possibleMaxLength = 1;
}
}
}
}
//Return the sorted substring
return
s.substring(lastIndexOfMaxConsecutiveSortedSubstr
ing - currentMaxLength + 1,lastIndexOfMaxConsecutiveSortedSubstring + 1);
}
}
Running time complexity:
The above program executes in
Sample Output:
Enter a string: abcabcdgabmnsxy
Maximum consecutive substring is abmnsxy

Program to display maximum consecutive increasingly ordered substring
Program Plan:
- Create the class “Exercise22_01”.
- In the main() function,
- Read the input object to read the input from user.
- Call the function maxConsecutivesSortedSubstring()to print the maximum ordered substring.
- In the maxConsecutivesSortedSubstring(),
- Initially assign the maximum length of the substring.
- Use for() loop to execute the whole length of the string.
- Check the position of character at “i” and “i-1” and compare the values.
- If it is lesser, assign the “i” to “current”.
- If the condition not satisfies, then increment the length of maximum consecutive length.
- Use for() loop to iterate the string values.
- Check whether the current length of string is less than the largest string.
- If yes, then assign the current element length to largest subsequence element.
- Construct the character sequence using while() loop at the end of the string.
- Return the string.
- Check the position of character at “i” and “i-1” and compare the values.
- In the maxConsecutivesSortedSubstring1(),
- Use the for loop to iterate the whole length of string.
- Check the position of character at “i” and “i-1” and compare the values.
- Return the sorted substring.
- Use the for loop to iterate the whole length of string.
This program reads the input from user and displays the maximum consecutive increasingly ordered substring.
Explanation of Solution
Program:
//Declare the class Exercise22_01
public class Exercise22_01 {
//Declare the main function
public static void main(String[] args) {
//Create the input object
java.util.Scanner input = new
java.util.Scanner(System.in);
//Read the string
System.out.print("Enter a string: ");
String s = input.nextLine();
/*Call the function maxConsecutiveSortedSubstring() to print the maximum consecutive sorted substring*/
System.out.println("Maximum consecutive substring
is " + maxConsecutiveSortedSubstring(s));
}
/*Define the function maxConsecutiveSortedSubstring()*/
public static String
maxConsecutiveSortedSubstring(String s) {
//Declare the array and assign the length of array
int[] maxConsecutiveLength = new int[s.length()];
//Assign the variable as 0
int current = 0;
//Execute the for loop until the condition fails
for (int i = 1; i < s.length(); i++) {
/*Check whether the character is smaller than
the current character stored in string*/
if (s.charAt(i) <= s.charAt(i - 1)) {
//Assign the “i” value to current variable
current = i;
} else {
/*Execute the for loop until the condition fails*/
for (int j = i - 1; j >= current; j--)
//Increment the sequence of length
maxConsecutiveLength[j]++;
}
}
//Assign the length of sequence at index “i”
int currentMaxLength = maxConsecutiveLength[0];
int index = 0;
//Execute the for loop until the length of string
for (int i = 0; i < s.length(); i++) {
//Check whether the condition is true
if (maxConsecutiveLength[i] > currentMaxLength)
{
/*Assign the maximum sequence length to current length */
currentMaxLength = maxConsecutiveLength[i];
//Assign the index position
index = i;
}
}
//Return the substring
return s.substring(index, index + currentMaxLength + 1);
}
//Define the function for the sorted substring
public static String
maxConsecutiveSortedSubstring1(String s) {
//Assign the current length
int currentMaxLength = 1;
//Assign the last index of sorted substring
int lastIndexOfMaxConsecutiveSortedSubstring = 0;
//Assign the possible length
int possibleMaxLength = 1;
//Execute the for loop until it fails
for (int i = 1; i < s.length(); i++) {
//Check the position of the string
if (s.charAt(i) > s.charAt(i - 1)) {
//Check the condition
if
(lastIndexOfMaxConsecutiveSortedSubstri
ng == i - 1) {
/* Add the max consecutive substring*/
currentMaxLength++;
/*Add the index of max consecutive substring*/
lastIndexOfMaxConsecutiveSortedSub
string++;
//If condition not satisfies
} else {
//Increment the length
possibleMaxLength++;
//Check the condition
if (possibleMaxLength >
currentMaxLength) {
/*Assign the possible length to current maximum length*/
currentMaxLength =
possibleMaxLength;
/*Assign the index of the string*/
lastIndexOfMaxConsecutiveSort
edSubstring = i;
possibleMaxLength = 1;
}
}
}
}
//Return the sorted substring
return
s.substring(lastIndexOfMaxConsecutiveSortedSubstr
ing - currentMaxLength + 1,lastIndexOfMaxConsecutiveSortedSubstring + 1);
}
}
Running time complexity:
The above program executes in
is
Enter a string: abcabcdgabmnsxy
Maximum consecutive substring is abmnsxy
Want to see more full solutions like this?
Chapter 22 Solutions
Introduction to Java Programming and Data Structures: Brief Version (11th Global Edition)
Additional Engineering Textbook Solutions
Elementary Surveying: An Introduction To Geomatics (15th Edition)
Management Information Systems: Managing The Digital Firm (16th Edition)
Web Development and Design Foundations with HTML5 (8th Edition)
Thinking Like an Engineer: An Active Learning Approach (4th Edition)
SURVEY OF OPERATING SYSTEMS
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
- You are part of a group of Systems Development students who have joined TwoUp Technologies as interns. During security training, the Security Manager used the diagram below to explain how the organisation strives to enhance company security. Provide a comprehensive approach for TwoUp Technologies to improve its security strategy using the diagram below, including activities for each of the five functionsarrow_forward20.22: LAB Program: Text message decoder 20.22 LAB*: Program: Text message decoder LAB ACTIVITY 20.22.1: LAB*: Program: Text message decoder Full screen 0/6 Program Specifications Write a program that reads a line of text message and identifies any supported abbreviations in the text. Note: This program is designed for incremental development. Complete each step and submit for grading before starting the next step. Only a portion of tests pass after each step but confirm progress. Step 1 (3 pts): Read and verify user input. Use getline () to read a line of user input into a string. Output the string. Submit for grading to confirm 2 tests pass. Ex: If the input is: Enter text: IDK if I'11 go. It's my BFF's birthday. the output is: You entered: IDK if I'11 go. It's my BFF's birthday. Step 2 (3 pts): Identify abbreviations. Search the string (by using Eind ()) for any supported abbreviations and print a list of found abbreviations along with the decoded meaning. Assume each unique…arrow_forwardPlease write on C++ programmingarrow_forward
- LAB ACTIVITY 21.16.1: LAB*: Program: Rock paper scissors Exit Full screen 0/10 Program Specifications Write a program to play an automated game of Rock, Paper, Scissors. Two players make one of three hand signals at the same time. Hand signals represent a rock, a piece of paper, or a pair of scissors. Each combination results in a win for one of the players. Rock crushes scissors, paper covers rock, and scissors cut paper. A tie occurs if both players make the same signal. Use a random number generator of 0, 1, or 2 to represent the three signals. Note: this program is designed for incremental development. Complete each step and submit for grading before starting the next step. Only a portion of tests pass after each step but confirm progress. Step 0. Read starter template and do not change the provided code. Integer constants are defined for ROCK, PAPER, and SCISSORS. A Random object is created and a seed is read from input and passed to the Random object. This supports automated…arrow_forward20.22: LAB*: Program: Text message decoder 20.22 LAB*: Program: Text message decoder LAB ACTIVITY 20.22.1: LAB*: Program: Text message decoder Full screen 0/6 ☐ Program Specifications Write a program that reads a line of text message and identifies any supported abbreviations in the text. Note: This program is designed for incremental development. Complete each step and submit for grading before starting the next step. Only a portion of tests pass after each step but confirm progress. Step 1 (3 pts): Read and verify user input. Use getline() to read a line of user input into a string. Output the string. Submit for grading to confirm 2 tests pass. Ex: If the input is: Enter text: IDK if I'll go. It's my BFF's birthday. the output is: You entered: IDK if I'll go. It's my BFF's birthday. Step 2 (3 pts): Identify abbreviations. Search the string (by using find()) for any supported abbreviations and print a list of found abbreviations along with the decoded meaning. Assume each unique…arrow_forwardThe Greatest and Least of These Write a program with a loop that lets the user enter a series of integers. The user should enter -99 to signal the end of the series. After all the numbers have been entered, the program should display the largest and smallest numbers entered. Input your program in the blank textbox, run it against the web based C++ tool to ensure it compiles Please make sure to comment your code, this is worth 3 points for this question. 114 Edit View Insert Format Tools Table 1201 Search F3 F4 F5 A PrtScn Hom F6 F7 F8arrow_forward
- KS My library> CS 20.4 LAB: Max of 3 LAB ACTIVITY 20.4.1: LAB: Max of 3 Full screen 0/10 Write a program that takes in three integers as inputs and outputs the largest value. If the input integers are the same, output the integers' value. Ex: If the input is: 1 2 3 the output is: Max of [1, 2, 3] is 3 Run main.cpp #include 1 2 using namespace std; 3 4 int main() { 5 int vall; Q Search Open new tab El Do History Tuarrow_forward21.5: LAB: Countdown until matching digits 21.5 LAB: Countdown until matching digits LAB ACTIVITY 21.5.1: LAB: Countdown until matching digits Full screen 0/10 Write a program that takes in an integer in the range 11-99 (inclusive) as input. The output of the program is a countdown starting from the input integer until an integer where both digits are identical. End with a newline. Ex: If the input is: 93 the output is: 93 92 91 90 89 88 Ex: If the input is: 11 the output is: 11 Ex: If the input is: or any value not between 11 and 99 (inclusive), the output is: Input must be 11-99 For coding simplicity, follow each output number by a space, even the last one. Use a while loop. Compare the digits; do not write a large if-else for all possible same-digit numbers (11, 22, 33,.... 99), as that approach would be cumbersome for larger ranges. Run main.cpp 1 #include 2 using namespace std; 3 4 int main() { 5 6 7 8 / Type your code here. */ return 0; 9 } 10 Open new tab Dock History Tutorial…arrow_forward23.2 LAB: Step counter LAB ACTIVITY 23.2.1: LAB: Step counter Full screen 0/10 A pedometer treats walking 1 step as walking 2.5 feet. Define a function named FeetToSteps that takes a double as a parameter, representing the number of feet walked, and returns the number of steps walked as an integer by type casting. Then, write a main program that reads the number of feet walked as an input, calls function FeetToSteps() with the input as an argument, and outputs the number of steps returned from FeetToSteps(). Use floating-point arithmetic to perform the conversion. Note: Type casting a double to an integer may affect the result's accuracy. Ex: If the input is: 150.5 the output is: 60 The program must define and call a function: int FeetToSteps (double userFeet) Run main.cpp 1 #include 2 #include 3 using namespace std; 4 5 /* Define your function here */ 6 7 int main() { 8 / Type your code here */ 9 10 return 0; 11 12 Open new tab Dock History Tutorial ENG 3:05 PMarrow_forward
- 19.11 LAB: Convert to seconds LAB ACTIVITY 19.11.1: LAB: Convert to seconds LJ Full screen Write a program that reads in seconds, minutes, and hours as input, and outputs the time in seconds only. Ex: If the input is: 40 6 1 where 40 is the number of seconds, 6 is the number of minutes, and 1 is the number of hours, the output is: 4000 seconds ▷ Run main.cpp #include 1 2 using namespace std; 3 4 int main() { 5 int seconds; int minutes Q Search Open new tab History H Warrow_forwardThe Greatest and Least of These Write a program with a loop that lets the user enter a series of integers. The user should enter-99 to signal the end of the series. After all the numbers have been entered, the program should display the largest and smallest numbers entered. Input your program in the blank textbox, run it against the web based C++ tool to ensure it compiles Please make sure to comment your code, this is worth 3 points for this question. Edit View Insert Format Tools Table 12pt v Paragraph BIUA T² v هم ...arrow_forwardAreas of Rectangles The area of a rectangle is the rectangle's length times its width. Write a program that asks for the length and width of two rectangles. The program should tell the user which rectangle has the greater area, or if the areas are the same. Input your program in the blank textbox, run it against the web based C++ tool to ensure it compiles Please make sure to comment your code, this is worth 3 points for this question. Edit View Insert Format Tools Table 12pt v Paragraph BIUA T² Varrow_forward
- Microsoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageProgramming with Microsoft Visual Basic 2017Computer ScienceISBN:9781337102124Author:Diane ZakPublisher:Cengage LearningEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT




