[Math_Medium]553. Optimal Divisi
2018-03-10 本文已影响1人
默写年华Antifragile
553. Optimal Division
题目大意:a/b/c/d...,在上面式子中加括号使得值最大
解题思路:
无论怎么加括号,a肯定是分子,b肯定是分母,要使值最大,分子a是定的,那么应该让分母最小,由于a,b...均是正整数,所以应该让b一直除,所以应当把括号加在a/(b/c/d...)
源代码:
class Solution {
public:
string optimalDivision(vector<int>& nums) {
string str="";
if(!nums.size())
return str;
else if (nums.size()==1)
{
str=to_string(nums[0]);
return str;
}
else if(nums.size()==2)
{
str=to_string(nums[0])+"/"+to_string(nums[1]);
return str;
}
else
{
str=to_string(nums[0])+"/("+to_string(nums[1]);
for(int i=2;i<nums.size();i++)
str+=("/"+to_string(nums[i]));
str+=")";
return str;
}
}
};
以上