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 firstname.lastname@example.org. 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 String Partition
- Maximum and minimum sums from two numbers with digit replacements
- Lexicographical Maximum substring of string
- Maximum number of characters between any two same character in a string
- Find the maximum possible Binary Number from given string
- String with maximum number of unique characters
- Maximum difference of zeros and ones in binary string
- Maximum number of removals of given subsequence from a string
- Count maximum-length palindromes in a String
- Maximum contiguous 1 possible in a binary string after k rotations
- Maximum occurring character in an input string | Set-2
- Maximum consecutive repeating character in string
- Find the first maximum length even word from a string