Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save SuryaPratapK/6cd46ac7381ce428b39f3818f2fbb3fd to your computer and use it in GitHub Desktop.

Select an option

Save SuryaPratapK/6cd46ac7381ce428b39f3818f2fbb3fd to your computer and use it in GitHub Desktop.
class Solution {
public:
vector<int> getNoZeroIntegers(int n) {
int a = 0;
int b = 0;
int power = 1;
while(n){
int digit = n%10;
if(digit==0){
a += 5 * power;
b += 5 * power;
n -= 10;
}else if(digit==1 and n>=10){
a += 5 * power;
b += 6 * power;
n -= 11;
}else{
int half = digit/2;
a += half * power;
b += (digit-half) * power;
}
power *= 10;
n /= 10;
}
return {a,b};
}
};
/*
// JAVA
class Solution {
public int[] getNoZeroIntegers(int n) {
int a = 0, b = 0;
int power = 1;
int m = n;
while (m != 0) {
int digit = m % 10;
if (digit == 0) {
a += 5 * power;
b += 5 * power;
m -= 10;
} else if (digit == 1 && m >= 10) {
a += 5 * power;
b += 6 * power;
m -= 11;
} else {
int half = digit / 2;
a += half * power;
b += (digit - half) * power;
}
power *= 10;
m /= 10;
}
return new int[] {a, b};
}
}
#Python
from typing import List
class Solution:
def getNoZeroIntegers(self, n: int) -> List[int]:
a = 0
b = 0
power = 1
m = n
while m != 0:
digit = m % 10
if digit == 0:
a += 5 * power
b += 5 * power
m -= 10
elif digit == 1 and m >= 10:
a += 5 * power
b += 6 * power
m -= 11
else:
half = digit // 2
a += half * power
b += (digit - half) * power
power *= 10
m //= 10
return [a, b]
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment