Skip to content

Latest commit

 

History

History
62 lines (50 loc) · 1.4 KB

File metadata and controls

62 lines (50 loc) · 1.4 KB

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 and B 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

Solutions (Rust)

1. Solution

impl Solution {
    pub fn get_no_zero_integers(n: i32) -> Vec<i32> {
        for a in 1..=(n / 2) {
            let b = n - a;
            let ab_str = a.to_string() + &b.to_string();

            if ab_str.bytes().all(|x| x != b'0') {
                return vec![a, b];
            }
        }

        Vec::new()
    }
}