1440 - Convert Integer to the Sum of Two No-Zero Integers
description
No-Zero integer is a positive integer that does not contain any 0
in its decimal representation.
Given an integer n
, return a list of two integers [a, b]
where:
a
andb
are No-Zero integers.a + b = n
The test cases are generated so 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: Let a = 1 and b = 1. Both a and b are no-zero integers, and a + b = 2 = n.
Example 2:
Input: n = 11 Output: [2,9] Explanation: Let a = 2 and b = 9. Both a and b are no-zero integers, and a + b = 11 = n. Note that there are other valid answers as [8, 3] that can be accepted.
Constraints:
2 <= n <= 104
submission
impl Solution {
pub fn get_no_zero_integers(n: i32) -> Vec<i32> {
// helper function for zero digit check
fn nozero(mut num: i32) -> bool {
while num > 0 {
if num % 10 == 0 {
return false;
}
num /= 10;
}
true
}
// iterate
for i in 1..n {
if nozero(i) && nozero(n - i) {
return vec![i, n - i];
}
}
// unreachable
vec![-1, -1]
}
}