[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 29. 两数相除 时间击败100.00% 内存击败76.25%
Leetcode练习(Python):数学类:第29题:两数相除:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法除法和 mo(
LeetCode 553 最优除法 HERODING的LeetCode之路[数学] HERODING的LeetCode之路