Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2fdec23

Browse filesBrowse files
committed
Add solution and test-cases for problem 1295
1 parent a01e89c commit 2fdec23
Copy full SHA for 2fdec23

File tree

Expand file treeCollapse file tree

3 files changed

+61
-16
lines changed
Filter options
Expand file treeCollapse file tree

3 files changed

+61
-16
lines changed

‎leetcode/1201-1300/1295.Find-Numbers-with-Even-Number-of-Digits/README.md

Copy file name to clipboardExpand all lines: leetcode/1201-1300/1295.Find-Numbers-with-Even-Number-of-Digits/README.md
+16-14Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
# [1295.Find Numbers with Even Number of Digits][title]
22

3-
> [!WARNING|style:flat]
4-
> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm)
5-
63
## Description
4+
Given an array `nums` of integers, return how many of them contain an **even number** of digits.
75

86
**Example 1:**
97

108
```
11-
Input: a = "11", b = "1"
12-
Output: "100"
9+
Input: nums = [12,345,2,6,7896]
10+
Output: 2
11+
Explanation:
12+
12 contains 2 digits (even number of digits).
13+
345 contains 3 digits (odd number of digits).
14+
2 contains 1 digit (odd number of digits).
15+
6 contains 1 digit (odd number of digits).
16+
7896 contains 4 digits (even number of digits).
17+
Therefore only 12 and 7896 contain an even number of digits.
1318
```
1419

15-
## 题意
16-
> ...
17-
18-
## 题解
20+
**Example 2:**
1921

20-
### 思路1
21-
> ...
22-
Find Numbers with Even Number of Digits
23-
```go
2422
```
25-
23+
Input: nums = [555,901,482,1771]
24+
Output: 1
25+
Explanation:
26+
Only 1771 contains an even number of digits.
27+
```
2628

2729
## 结语
2830

‎leetcode/1201-1300/1295.Find-Numbers-with-Even-Number-of-Digits/Solution.go

Copy file name to clipboardExpand all lines: leetcode/1201-1300/1295.Find-Numbers-with-Even-Number-of-Digits/Solution.go
+19Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,22 @@ func Solution(nums []int) int {
1212
}
1313
return count
1414
}
15+
16+
func Solution1(nums []int) int {
17+
var isEven func(int) bool
18+
isEven = func(n int) bool {
19+
c := 0
20+
for n > 0 {
21+
n /= 10
22+
c++
23+
}
24+
return c&1 == 0
25+
}
26+
ans := 0
27+
for _, n := range nums {
28+
if isEven(n) {
29+
ans++
30+
}
31+
}
32+
return ans
33+
}

‎leetcode/1201-1300/1295.Find-Numbers-with-Even-Number-of-Digits/Solution_test.go

Copy file name to clipboardExpand all lines: leetcode/1201-1300/1295.Find-Numbers-with-Even-Number-of-Digits/Solution_test.go
+26-2Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,34 @@ func TestSolution(t *testing.T) {
3030
}
3131
}
3232

33-
// 压力测试
33+
func TestSolution1(t *testing.T) {
34+
// 测试用例
35+
cases := []struct {
36+
name string
37+
inputs []int
38+
expect int
39+
}{
40+
{"TestCase", []int{124123, 13425, 123, 65, 1, 54362, 134, 6543, 213}, 3},
41+
{"TestCase", []int{}, 0},
42+
{"TestCase", []int{4253626756, 3245876, 2345897, 23490}, 1},
43+
}
44+
45+
// 开始测试
46+
for i, c := range cases {
47+
t.Run(c.name+" "+strconv.Itoa(i), func(t *testing.T) {
48+
got := Solution1(c.inputs)
49+
if !reflect.DeepEqual(got, c.expect) {
50+
t.Fatalf("expected: %v, but got: %v, with inputs: %v",
51+
c.expect, got, c.inputs)
52+
}
53+
})
54+
}
55+
}
56+
57+
// 压力测试
3458
func BenchmarkSolution(b *testing.B) {
3559
}
3660

37-
// 使用案列
61+
// 使用案列
3862
func ExampleSolution() {
3963
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.