本文主要是介绍553. Optimal Division 最优除法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
https://leetcode-cn.com/problems/optimal-division/description/
思路:x1/x2/…/xn,无论在之间加多少个括号,x1总是作为被除数,x2总是作为除数,因此结果最大的做法是将x3到xn的所有除法转换为乘法,即x1/(x2/…/xn)=x1/x2*x3*…*xn.
string optimalDivision(vector<int>& nums) {string res;int n = nums.size();//特殊情况处理if (n == 1) return to_string(nums[0]);if (n == 2) return to_string(nums[0]) + "/" + to_string(nums[1]);//一般情况res = to_string(nums[0]) + "/(";for (int i = 1; i < n - 1; i++) {res += to_string(nums[i]) + "/"; //注意运算符优先级,+比+=要优先,这样的用法是可以的}res += to_string(nums[n - 1]) + ")";return res;
}
这篇关于553. Optimal Division 最优除法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!