[LeetCode]553. Optimal Division

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Lcharon/article/details/77343438

[LeetCode]553. Optimal Division

题目描述

这里写图片描述

思路

medium里的一道水题,遍历一次就好
因为要得到除法运算的最大值
所以分子尽可能大,分母尽可能小
而且数组是降序排列的,所以第一个元素做分子,后面的连除做分母就是结果了

代码

#include <iostream>
#include <string>
#include <vector>

using namespace std;

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

int main() {
    Solution s;
    vector<int> nums = { 1000, 100, 10, 2 };

    cout << s.optimalDivision(nums) << endl;

    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Lcharon/article/details/77343438
今日推荐