Description Link to heading
Solution Link to heading
Greedy algorithm
The optimal method is actually to bracket the penultimate elements.
Code Link to heading
class Solution {
public:
string optimalDivision(vector<int>& nums) {
string res;
res += to_string(nums[0]);
if (nums.size() == 1)
return res;
else if (nums.size() == 2) {
res = res + "/" + to_string(nums[1]);
return res;
}
res += "/(";
for (int i = 1; i < nums.size(); i++) {
res += to_string(nums[i]);
res.push_back('/');
}
res.pop_back();
res.push_back(')');
return res;
}
};