Skip to content

Commit a750a6b

Browse files
solves self dividing numbers
1 parent b28569d commit a750a6b

File tree

3 files changed

+45
-4
lines changed

3 files changed

+45
-4
lines changed

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# LeetCode Algorithms
22

3-
![problems-solved](https://img.shields.io/badge/Problems%20Solved-177/2081-1f425f.svg)
4-
![problems-solved-java](https://img.shields.io/badge/Java-177/2081-1abc9c.svg)
5-
![problems-solved-python](https://img.shields.io/badge/Python-177/2081-1abc9c.svg)
3+
![problems-solved](https://img.shields.io/badge/Problems%20Solved-178/2081-1f425f.svg)
4+
![problems-solved-java](https://img.shields.io/badge/Java-178/2081-1abc9c.svg)
5+
![problems-solved-python](https://img.shields.io/badge/Python-178/2081-1abc9c.svg)
66
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
77
[![cp](https://img.shields.io/badge/also%20see-Competitve%20Programming-1f72ff.svg)](https://github.com/anishLearnsToCode/competitive-programming)
88

@@ -200,7 +200,7 @@
200200
| 717 | [1-bit and 2-bit Characters](https://leetcode.com/problems/1-bit-and-2-bit-characters) | [![Java](assets/java.png)](src/OneBitAndTwoBitCharacters.java) [![Python](assets/python.png)](python/one_bit_and_two_bit_characters.py) |
201201
| 720 | [Longest Word in Dictionary](https://leetcode.com/problems/longest-word-in-dictionary) | |
202202
| 724 | [Find Pivot Index](https://leetcode.com/problems/find-pivot-index) | [![Java](assets/java.png)](src/FindPivotIndex.java) [![Python](assets/python.png)](python/find_pivot_index.py) |
203-
| 728 | [Self Dividing Numbers](https://leetcode.com/problems/self-dividing-numbers) | |
203+
| 728 | [Self Dividing Numbers](https://leetcode.com/problems/self-dividing-numbers) | [![Java](assets/java.png)](src/SelfDividingNumbers.java) [![Python](assets/python.png)](python/self_dividing_number.py) |
204204
| 733 | [Flood Fill](https://leetcode.com/problems/flood-fill) | |
205205
| 734 | [Sentence Similarity](https://leetcode.com/problems/sentence-similarity) | |
206206
| 744 | [Find Smallest Letter Greater Than Target](https://leetcode.com/problems/find-smallest-letter-greater-than-target) | |

python/self_dividing_number.py

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from typing import List
2+
3+
4+
class Solution:
5+
def isSelfDividing(self, number: int) -> bool:
6+
for digit in str(number):
7+
digit = int(digit)
8+
if digit == 0 or number % digit != 0:
9+
return False
10+
return True
11+
12+
def selfDividingNumbers(self, left: int, right: int) -> List[int]:
13+
result = []
14+
for number in range(left, right + 1):
15+
if self.isSelfDividing(number):
16+
result.append(number)
17+
return result

src/SelfDividingNumbers.java

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import java.util.ArrayList;
2+
import java.util.List;
3+
4+
public class SelfDividingNumbers {
5+
public List<Integer> selfDividingNumbers(int left, int right) {
6+
List<Integer> result = new ArrayList<>();
7+
for(int number = left ; number <= right ; number++) {
8+
if (isSefDividing(number)) {
9+
result.add(number);
10+
}
11+
}
12+
return result;
13+
}
14+
15+
private boolean isSefDividing(int number) {
16+
int original = number, digit;
17+
while (number > 0) {
18+
digit = number % 10;
19+
if (digit == 0 || original % digit != 0) return false;
20+
number /= 10;
21+
}
22+
return true;
23+
}
24+
}

0 commit comments

Comments
 (0)