解法一
被除数是第一个数,这个是固定的,因此要求商最大,除数应该尽量小。从剩下的N-1个数中构造出最小除数,又因为每个数都是正整数,所以用第二个数除以剩下所有的其他数可以得到最小除数。最后根据题目要求构造表达式字符串。
class Solution {
public String optimalDivision(int[] nums) {
if (nums.length == 1) {
return Integer.toString(nums[0]);
}
if (nums.length == 2) {
return Integer.toString(nums[0]) + "/" + Integer.toString(nums[1]);
}
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(Integer.toString(nums[0]) + "/(");
for (int i = 1; i < nums.length - 1; ++i) {
stringBuilder.append(Integer.toString(nums[i]) + "/");
}
stringBuilder.append(Integer.toString(nums[nums.length - 1]) + ")");
return stringBuilder.toString();
}
}