Welcome to Subscribe On Youtube
Formatted question description: https://leetcode.ca/all/1317.html
1317. Convert Integer to the Sum of Two No-Zero Integers (Easy)
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
andB
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
Related Topics:
Math
Solution 1.
-
class Solution { public int[] getNoZeroIntegers(int n) { int[] nums = new int[2]; int upper = n / 2; for (int i = 1; i <= upper; i++) { int num2 = n - i; if (noZero(i) && noZero(num2)) { nums[0] = i; nums[1] = num2; break; } } return nums; } public boolean noZero(int num) { if (num <= 0) return false; while (num > 0) { int remainder = num % 10; if (remainder == 0) return false; num /= 10; } return true; } } ############ class Solution { public int[] getNoZeroIntegers(int n) { for (int a = 1;; ++a) { int b = n - a; if (!(a + "" + b).contains("0")) { return new int[] {a, b}; } } } }
-
// OJ: https://leetcode.com/problems/convert-integer-to-the-sum-of-two-no-zero-integers/ // Time: O(NlogN) // Space: O(1) class Solution { bool hasZero(int n) { for (; n; n /= 10) { if (n % 10 == 0) return true; } return false; } public: vector<int> getNoZeroIntegers(int n) { int a = 1; for (; hasZero(a) || hasZero(n - a); ++a); return { a, n - a }; } };
-
class Solution: def getNoZeroIntegers(self, n: int) -> List[int]: for a in range(1, n): b = n - a if "0" not in str(a) + str(b): return [a, b]
-
func getNoZeroIntegers(n int) []int { for a := 1; ; a++ { b := n - a if !strings.Contains(strconv.Itoa(a)+strconv.Itoa(b), "0") { return []int{a, b} } } }