1317. Convert Integer to the Sum of Two No Zero Integers

1317. Convert Integer to the Sum of Two No-Zero Integers #

Problem #

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

Problem Summary #

A “No-Zero integer” is a positive integer whose decimal representation does not contain any 0. Given an integer n, return a list of two integers [A, B] such that:

  • A and B are both No-Zero integers
  • A + B = n

The problem data guarantees that there is at least one valid solution. If there are multiple valid solutions, you may return any one of them.

Solution Approach #

  • Given an integer n, split it into 2 positive integers whose decimal digits do not contain 0 and whose sum is n.
  • Easy problem. Search in the interval [1, n/2], and break as soon as a pair satisfying the condition is found. The problem guarantees at least one solution, and if there are multiple solutions, returning any one is acceptable.

Code #


package leetcode

func getNoZeroIntegers(n int) []int {
	noZeroPair := []int{}
	for i := 1; i <= n/2; i++ {
		if isNoZero(i) && isNoZero(n-i) {
			noZeroPair = append(noZeroPair, []int{i, n - i}...)
			break
		}
	}
	return noZeroPair
}

func isNoZero(n int) bool {
	for n != 0 {
		if n%10 == 0 {
			return false
		}
		n /= 10
	}
	return true
}


Calendar Jun 25, 2026
Edit Edit this page
Total visits:   You are visitor No.
中文