字符串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.最优除法

553. 最优除法(区间dp & 数学)

LeetCode 553 最优除法 HERODING的LeetCode之路[数学] HERODING的LeetCode之路

LeetCode 2016. 增量元素之间的最大差值 / 553. 最优除法 / 1601. 最多可达成的换楼请求数目(枚举+回溯)

leetcode刷题总结551-600

[leetcode] 最优除法 小思维