[leetcode] 最优除法 小思维

Posted PushyTao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[leetcode] 最优除法 小思维相关的知识,希望对你有一定的参考价值。

题目链接

如果是仅有一个数的时候直接返回那个数即可
如果有两个数,答案就是“a/b”
如果是三个数以上
为了让结果最大,那么说要让被除数更小。在整数的情况下,除法只会让数越除越小,所以说把除了第一个数之外的所有数放在括号里,比如:
a/(b/c/d/…/f)

class Solution 
public:
    string optimalDivision(vector<int>& nums) 
        string ret = "";
        int n = nums.size();
        ret += to_string(nums[0]);
        if(n == 1) return ret;
        if (n > 1) ret += "/";
        if (n > 2) ret += "(";
        for(int i = 1;i <= n - 2;i ++) 
            ret += to_string(nums[i]);
            ret += "/";
        
        ret += to_string(nums[n-1]);
        if(n > 2) ret += ")";
        return ret;
    
;

以上是关于[leetcode] 最优除法 小思维的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode第二十九题-整数除法

LeetCode 29. 两数相除 时间击败100.00% 内存击败76.25%

Leetcode练习(Python):数学类:第29题:两数相除:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法除法和 mo(

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

LeetCode 29 Divide Two Integers (不使用乘法,除法,求模计算两个数的除法)

LeetCode29:两数相除