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
public class Solution {
public int[] GetNoZeroIntegers(int n) {
var ans = new int[2];
if(n==0){
return ans;
}
for(int i=1;i<n;i++){
if(NotContainsZero(i)&&NotContainsZero(n-i)){
ans[0]=i;
ans[1]=n-i;
return ans;
}
}
return ans;
}
private bool NotContainsZero(int num){
if(num==0){
return false;
}
while(num>0){
if(num%10==0){
return false;
}
num/=10;
}
return true;
}
}
Time complexity: O(n * log10(n))
Space complexity: O(1)