1317. Convert Integer to the Sum of Two No-Zero Integers*
题目描述
Given an integer n
. No-Zero integer is a positive integer which doesn’t contain any 0 in its decimal representation.
Return a list of two integers [A, B]
where:
A
andB
are No-Zero integers.A + B = n
It’s guarateed that there is at least one valid solution. If there are many valid solutions you can return any of them.
Example 1:
Input: n = 2
Output: [1,1]
Explanation: A = 1, B = 1. A + B = n and both A and B don't contain any 0 in their decimal representation.
Example 2:
Input: n = 11
Output: [2,9]
Example 3:
Input: n = 10000
Output: [1,9999]
Example 4:
Input: n = 69
Output: [1,68]
Example 5:
Input: n = 1010
Output: [11,999]
Constraints:
2 <= n <= 10^4
C++ 实现 1
暴力搜索, 将数字转换为字符串, 判断字符串中不包含 0 的情况.
class Solution {
public:
vector<int> getNoZeroIntegers(int n) {
vector<int> res;
for (int i = 1; i <= n / 2; ++ i) {
int a = i;
int b = n - a;
string s = std::to_string(a) + std::to_string(b);
if (s.find('0') == std::string::npos) {
res = {a, b};
break;
}
}
return res;
}
};