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.
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 number is 0 and 1.
Above program consider the case of small inputs i.e. up to which C/C++ can handle the range of maximum value.
This article is contributed by Sahil Chhabra. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Calculate sum of all numbers present in a string
- Calculate score for the given binary string
- Maximum and minimum sums from two numbers with digit replacements
- Maximum String Partition
- Lexicographical Maximum substring of string
- Maximum occurring character in an input string | Set-2
- Maximum number of removals of given subsequence from a string
- Maximum even length sub-string that is permutation of a palindrome
- Count maximum-length palindromes in a String
- String with maximum number of unique characters
- Maximum consecutive repeating character in string
- Find the first maximum length even word from a string
- Maximum difference of zeros and ones in binary string
- Maximum contiguous 1 possible in a binary string after k rotations
- Maximum repeated frequency of characters in a given string