字符串553. 最优除法
Posted ocpc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串553. 最优除法相关的知识,希望对你有一定的参考价值。
题目:
解答:
思路:
注意到数组元素均大于1,所以每次做除法之后都会使被除数变小。因此为了使最终结果最大,可将第一个元素作为被除数,之后所有元素做完除法之后的结果为除数。这样可以让被除数尽可能的大,除数尽可能的小。
1 class Solution { 2 public: 3 string optimalDivision(vector<int>& nums) 4 { 5 //两种特殊情况 6 if(nums.size()==1) 7 { 8 return to_string(nums[0]); 9 } 10 if(nums.size()==2) 11 { 12 return to_string(nums[0])+"/"+to_string(nums[1]); 13 } 14 15 string ans=to_string(nums[0]); 16 17 ans+="/("; 18 19 int n=nums.size(); 20 for(int i=1;i<n;i++) 21 { 22 ans+=to_string(nums[i]); 23 ans+="/"; 24 } 25 ans.pop_back(); 26 ans+=")"; 27 28 return ans; 29 30 } 31 };
以上是关于字符串553. 最优除法的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 553 最优除法 HERODING的LeetCode之路[数学] HERODING的LeetCode之路
LeetCode 2016. 增量元素之间的最大差值 / 553. 最优除法 / 1601. 最多可达成的换楼请求数目(枚举+回溯)