Blogs Hub

by Sumit Chourasia | Oct 02, 2020 | Category :coding | Tags : algorithm data-structure easy leetcode maths

Convert Integer to the Sum of Two No-Zero Integers - Math - Easy - LeetCode

Convert Integer to the Sum of Two No-Zero Integers - Math - Easy - LeetCode

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)