3959. Check Good Integer
Description
You are given a positive integer n.
Let digitSum be the sum of the digits of n, and let squareSum be the sum of the squares of the digits of n.
An integer is called good if squareSum - digitSum >= 50.
Return true if n is good. Otherwise, return false.
Β
Example 1:
Input: n = 1000
Output: false
Explanation:
- The digits of 1000 are 1, 0, 0, and 0.
- The
digitSumis1 + 0 + 0 + 0 = 1. - The
squareSumis12 + 02 + 02 + 02 = 1. - The
squareSum - digitSumis1 - 1 = 0. As 0 is not greater than or equal to 50, the output isfalse.
Example 2:
Input: n = 19
Output: true
Explanation:
- The digits of 19 are 1 and 9.
- The
digitSumis1 + 9 = 10. - The
squareSumis12 + 92 = 1 + 81 = 82. - The
squareSum - digitSumis82 - 10 = 72. As 72 is greater than or equal to 50, the output istrue.
Β
Constraints:
1 <= n <= 109
Solutions
Solution 1: Simulation
We use a variable \(s\) to record the result of the square sum minus the digit sum of \(n\). If \(s\) is greater than or equal to 50, we return \(\textit{true}\); otherwise, we return \(\textit{false}\).
The time complexity is \(O(\log n)\), where \(\log n\) is the number of digits in \(n\). The space complexity is \(O(1)\).
1 2 3 4 5 6 7 | |
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 | |