VOOZH about

URL: https://www.geeksforgeeks.org/dsa/calculate-maximum-value-using-sign-two-numbers-string/

⇱ Calculate maximum value using '+' or '*' sign between two numbers in a string - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Calculate maximum value using '+' or '*' sign between two numbers in a string

Last Updated : 15 Sep, 2023

Given a string of numbers, the task is to find the maximum value from the string, you can add a '+' or '*' sign between any two numbers.

Examples: 

Input : 01231
Output : 
((((0 + 1) + 2) * 3) + 1) = 10
In above manner, we get the maximum value i.e. 10

Input : 891
Output :73
As 8*9*1 = 72 and 8*9+1 = 73.So, 73 is maximum.

Asked in : Facebook

The task is pretty simple as we can get the maximum value on multiplying all values but the point is to handle the case of 0 and 1 i.e. On multiplying with 0 and 1 we get the lower value as compared to on adding with 0 and 1. 

So, use '*' sign between any two numbers(except numbers containing 0 and 1) and use '+' if any of the numbers is 0 and 1.

Implementation:


Output
82

Time complexity : O(n) 
Auxiliary Space : O(1)

Above program consider the case of small inputs i.e. up to which C/C++ can handle the range of maximum value.

Comment
Article Tags:
Article Tags: