Skip to content

Commit 39f77ef

Browse files
committed
feat: add solutions to lc problem: No.2269
No.2269.Find the K-Beauty of a Number
1 parent d93e676 commit 39f77ef

File tree

6 files changed

+128
-36
lines changed

6 files changed

+128
-36
lines changed

solution/2200-2299/2269.Find the K-Beauty of a Number/README.md

+46-12
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,13 @@
7373
```python
7474
class Solution:
7575
def divisorSubstrings(self, num: int, k: int) -> int:
76-
cnt = 0
76+
ans = 0
7777
s = str(num)
7878
for i in range(len(s) - k + 1):
79-
tmp = int(s[i: i + k])
80-
if tmp != 0 and num % tmp == 0:
81-
cnt += 1
82-
return cnt
79+
t = int(s[i: i + k])
80+
if t and num % t == 0:
81+
ans += 1
82+
return ans
8383
```
8484

8585
### **Java**
@@ -89,19 +89,53 @@ class Solution:
8989
```java
9090
class Solution {
9191
public int divisorSubstrings(int num, int k) {
92-
int cnt = 0;
93-
String s = String.valueOf(num);
94-
for (int i = 0; i <= s.length() - k; i++) {
95-
int tmp = Integer.parseInt(s.substring(i, i + k));
96-
if (tmp != 0 && num % tmp == 0) {
97-
cnt++;
92+
int ans = 0;
93+
String s = "" + num;
94+
for (int i = 0; i < s.length() - k + 1; ++i) {
95+
int t = Integer.parseInt(s.substring(i, i + k));
96+
if (t != 0 && num % t == 0) {
97+
++ans;
9898
}
9999
}
100-
return cnt;
100+
return ans;
101101
}
102102
}
103103
```
104104

105+
### **C++**
106+
107+
```cpp
108+
class Solution {
109+
public:
110+
int divisorSubstrings(int num, int k) {
111+
int ans = 0;
112+
string s = to_string(num);
113+
for (int i = 0; i < s.size() - k + 1; ++i)
114+
{
115+
int t = stoi(s.substr(i, k));
116+
ans += t && num % t == 0;
117+
}
118+
return ans;
119+
}
120+
};
121+
```
122+
123+
### **Go**
124+
125+
```go
126+
func divisorSubstrings(num int, k int) int {
127+
ans := 0
128+
s := strconv.Itoa(num)
129+
for i := 0; i < len(s)-k+1; i++ {
130+
t, _ := strconv.Atoi(s[i : i+k])
131+
if t > 0 && num%t == 0 {
132+
ans++
133+
}
134+
}
135+
return ans
136+
}
137+
```
138+
105139
### **TypeScript**
106140

107141
```ts

solution/2200-2299/2269.Find the K-Beauty of a Number/README_EN.md

+46-12
Original file line numberDiff line numberDiff line change
@@ -65,33 +65,67 @@ Therefore, the k-beauty is 2.
6565
```python
6666
class Solution:
6767
def divisorSubstrings(self, num: int, k: int) -> int:
68-
cnt = 0
68+
ans = 0
6969
s = str(num)
7070
for i in range(len(s) - k + 1):
71-
tmp = int(s[i: i + k])
72-
if tmp != 0 and num % tmp == 0:
73-
cnt += 1
74-
return cnt
71+
t = int(s[i: i + k])
72+
if t and num % t == 0:
73+
ans += 1
74+
return ans
7575
```
7676

7777
### **Java**
7878

7979
```java
8080
class Solution {
8181
public int divisorSubstrings(int num, int k) {
82-
int cnt = 0;
83-
String s = String.valueOf(num);
84-
for (int i = 0; i <= s.length() - k; i++) {
85-
int tmp = Integer.parseInt(s.substring(i, i + k));
86-
if (tmp != 0 && num % tmp == 0) {
87-
cnt++;
82+
int ans = 0;
83+
String s = "" + num;
84+
for (int i = 0; i < s.length() - k + 1; ++i) {
85+
int t = Integer.parseInt(s.substring(i, i + k));
86+
if (t != 0 && num % t == 0) {
87+
++ans;
8888
}
8989
}
90-
return cnt;
90+
return ans;
9191
}
9292
}
9393
```
9494

95+
### **C++**
96+
97+
```cpp
98+
class Solution {
99+
public:
100+
int divisorSubstrings(int num, int k) {
101+
int ans = 0;
102+
string s = to_string(num);
103+
for (int i = 0; i < s.size() - k + 1; ++i)
104+
{
105+
int t = stoi(s.substr(i, k));
106+
ans += t && num % t == 0;
107+
}
108+
return ans;
109+
}
110+
};
111+
```
112+
113+
### **Go**
114+
115+
```go
116+
func divisorSubstrings(num int, k int) int {
117+
ans := 0
118+
s := strconv.Itoa(num)
119+
for i := 0; i < len(s)-k+1; i++ {
120+
t, _ := strconv.Atoi(s[i : i+k])
121+
if t > 0 && num%t == 0 {
122+
ans++
123+
}
124+
}
125+
return ans
126+
}
127+
```
128+
95129
### **TypeScript**
96130

97131
```ts
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class Solution {
2+
public:
3+
int divisorSubstrings(int num, int k) {
4+
int ans = 0;
5+
string s = to_string(num);
6+
for (int i = 0; i < s.size() - k + 1; ++i)
7+
{
8+
int t = stoi(s.substr(i, k));
9+
ans += t && num % t == 0;
10+
}
11+
return ans;
12+
}
13+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
func divisorSubstrings(num int, k int) int {
2+
ans := 0
3+
s := strconv.Itoa(num)
4+
for i := 0; i < len(s)-k+1; i++ {
5+
t, _ := strconv.Atoi(s[i : i+k])
6+
if t > 0 && num%t == 0 {
7+
ans++
8+
}
9+
}
10+
return ans
11+
}
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
class Solution {
22
public int divisorSubstrings(int num, int k) {
3-
int cnt = 0;
4-
String s = String.valueOf(num);
5-
for (int i = 0; i <= s.length() - k; i++) {
6-
int tmp = Integer.parseInt(s.substring(i, i + k));
7-
if (tmp != 0 && num % tmp == 0) {
8-
cnt++;
3+
int ans = 0;
4+
String s = "" + num;
5+
for (int i = 0; i < s.length() - k + 1; ++i) {
6+
int t = Integer.parseInt(s.substring(i, i + k));
7+
if (t != 0 && num % t == 0) {
8+
++ans;
99
}
1010
}
11-
return cnt;
11+
return ans;
1212
}
1313
}
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
class Solution:
22
def divisorSubstrings(self, num: int, k: int) -> int:
3-
cnt = 0
3+
ans = 0
44
s = str(num)
55
for i in range(len(s) - k + 1):
6-
tmp = int(s[i : i + k])
7-
if tmp != 0 and num % tmp == 0:
8-
cnt += 1
9-
return cnt
6+
t = int(s[i: i + k])
7+
if t and num % t == 0:
8+
ans += 1
9+
return ans

0 commit comments

Comments
 (0)