1363:形成三的最大倍数(1822 分)
目录
题目
给你一个整数数组 digits
,你可以通过按 任意顺序 连接其中某些数字来形成 3 的倍数,请你返回所能得到的最大的 3 的倍数。
由于答案可能不在整数数据类型范围内,请以字符串形式返回答案。如果无法得到答案,请返回一个空字符串。返回的结果不应包含不必要的前导零。
示例 1:
输入:digits = [8,1,9] 输出:"981"
示例 2:
输入:digits = [8,6,7,1,0] 输出:"8760"
示例 3:
输入:digits = [1] 输出:""
示例 4:
输入:digits = [0,0,0,0,0,0] 输出:"0"
提示:
1 <= digits.length <= 10^4
0 <= digits[i] <= 9
分析
- 假如总和模3余1
- 首先考虑 1、4、7,若存在,去掉 1 个即可
- 否则要去掉 2、5、8 中的两个
- 假如总和模3余2
- 首先考虑 2、5、8,若存在,去掉 1 个
- 否则要去掉 1、4、7 中的两个
- 最后输出时,注意不能有前导 0
解答
|
|
3 ms