Skip to content

Commit 74f8ed2

Browse files
committed
feat: update solutions to lc problem: No.2310
No.2310.Sum of Numbers With Units Digit K
1 parent 5982173 commit 74f8ed2

File tree

2 files changed

+110
-0
lines changed

2 files changed

+110
-0
lines changed

solution/2300-2399/2310.Sum of Numbers With Units Digit K/README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@
6969

7070
我们从小到达枚举 $n$,找到第一个满足 $num-n*k$ 是 $10$ 的倍数的 $n$。由于 $n$ 不会超过 $num$,因此 $n$ 最大枚举至 $num$。
7171

72+
也可以只考虑个位,个位满足,高位随意。
73+
7274
**方法二:记忆化搜索**
7375

7476
<!-- tabs:start -->
@@ -88,6 +90,17 @@ class Solution:
8890
return -1
8991
```
9092

93+
```python
94+
class Solution:
95+
def minimumNumbers(self, num: int, k: int) -> int:
96+
if num == 0:
97+
return 0
98+
for i in range(1, 11):
99+
if (k * i) % 10 == num % 10 and k * i <= num:
100+
return i
101+
return -1
102+
```
103+
91104
```python
92105
class Solution:
93106
def minimumNumbers(self, num: int, k: int) -> int:
@@ -133,6 +146,22 @@ class Solution {
133146
}
134147
```
135148

149+
```java
150+
class Solution {
151+
public int minimumNumbers(int num, int k) {
152+
if (num == 0) {
153+
return 0;
154+
}
155+
for (int i = 1; i <= 10; ++i) {
156+
if ((k * i) % 10 == num % 10 && k * i <= num) {
157+
return i;
158+
}
159+
}
160+
return -1;
161+
}
162+
}
163+
```
164+
136165
### **C++**
137166

138167
```cpp
@@ -150,6 +179,19 @@ public:
150179
};
151180
```
152181
182+
```cpp
183+
class Solution {
184+
public:
185+
int minimumNumbers(int num, int k) {
186+
if (!num) return 0;
187+
for (int i = 1; i <= 10; ++i)
188+
if ((k * i) % 10 == num % 10 && k * i <= num)
189+
return i;
190+
return -1;
191+
}
192+
};
193+
```
194+
153195
### **Go**
154196

155197
```go
@@ -167,6 +209,20 @@ func minimumNumbers(num int, k int) int {
167209
}
168210
```
169211

212+
```go
213+
func minimumNumbers(num int, k int) int {
214+
if num == 0 {
215+
return 0
216+
}
217+
for i := 1; i <= 10; i++ {
218+
if (k*i)%10 == num%10 && k*i <= num {
219+
return i
220+
}
221+
}
222+
return -1
223+
}
224+
```
225+
170226
### **TypeScript**
171227

172228
```ts

solution/2300-2399/2310.Sum of Numbers With Units Digit K/README_EN.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,17 @@ class Solution:
7373
return -1
7474
```
7575

76+
```python
77+
class Solution:
78+
def minimumNumbers(self, num: int, k: int) -> int:
79+
if num == 0:
80+
return 0
81+
for i in range(1, 11):
82+
if (k * i) % 10 == num % 10 and k * i <= num:
83+
return i
84+
return -1
85+
```
86+
7687
```python
7788
class Solution:
7889
def minimumNumbers(self, num: int, k: int) -> int:
@@ -116,6 +127,22 @@ class Solution {
116127
}
117128
```
118129

130+
```java
131+
class Solution {
132+
public int minimumNumbers(int num, int k) {
133+
if (num == 0) {
134+
return 0;
135+
}
136+
for (int i = 1; i <= 10; ++i) {
137+
if ((k * i) % 10 == num % 10 && k * i <= num) {
138+
return i;
139+
}
140+
}
141+
return -1;
142+
}
143+
}
144+
```
145+
119146
### **C++**
120147

121148
```cpp
@@ -133,6 +160,19 @@ public:
133160
};
134161
```
135162
163+
```cpp
164+
class Solution {
165+
public:
166+
int minimumNumbers(int num, int k) {
167+
if (!num) return 0;
168+
for (int i = 1; i <= 10; ++i)
169+
if ((k * i) % 10 == num % 10 && k * i <= num)
170+
return i;
171+
return -1;
172+
}
173+
};
174+
```
175+
136176
### **Go**
137177

138178
```go
@@ -150,6 +190,20 @@ func minimumNumbers(num int, k int) int {
150190
}
151191
```
152192

193+
```go
194+
func minimumNumbers(num int, k int) int {
195+
if num == 0 {
196+
return 0
197+
}
198+
for i := 1; i <= 10; i++ {
199+
if (k*i)%10 == num%10 && k*i <= num {
200+
return i
201+
}
202+
}
203+
return -1
204+
}
205+
```
206+
153207
### **TypeScript**
154208

155209
```ts

0 commit comments

Comments
 (0)