Movatterモバイル変換


[0]ホーム

URL:


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

Sign up
Appearance settings

Commitcb5cd84

Browse files
refactor 163
1 parent2231165 commitcb5cd84

File tree

2 files changed

+83
-100
lines changed

2 files changed

+83
-100
lines changed

‎src/main/java/com/fishercoder/solutions/_163.java

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,30 @@
55

66
/**
77
* 163. Missing Ranges
8+
*
89
* Given a sorted integer array where the range of elements are in the inclusive range [lower, upper], return its missing ranges.
910
* For example, given [0, 1, 3, 50, 75], lower = 0 and upper = 99, return ["2", "4->49", "51->74", "76->99"].
1011
*/
1112
publicclass_163 {
12-
13-
publicList<String>findMissingRanges(int[]nums,intlower,intupper) {
14-
List<String>result =newArrayList<>();
15-
longlow = (long)lower -1;
16-
longup =0;
17-
for (inti =0;i <=nums.length;i++) {
18-
if (i ==nums.length) {
19-
up = (long)upper +1;
20-
}else {
21-
up =nums[i];
22-
}
23-
if (up ==low +2) {
24-
result.add(low +1 +"");
25-
}elseif (up >low +2) {
26-
result.add((low +1) +"->" + (up -1));
13+
publicstaticclassSolution1 {
14+
publicList<String>findMissingRanges(int[]nums,intlower,intupper) {
15+
List<String>result =newArrayList<>();
16+
longlow = (long)lower -1;
17+
longup =0;
18+
for (inti =0;i <=nums.length;i++) {
19+
if (i ==nums.length) {
20+
up = (long)upper +1;
21+
}else {
22+
up =nums[i];
23+
}
24+
if (up ==low +2) {
25+
result.add(low +1 +"");
26+
}elseif (up >low +2) {
27+
result.add((low +1) +"->" + (up -1));
28+
}
29+
low =up;
2730
}
28-
low =up;
31+
returnresult;
2932
}
30-
returnresult;
3133
}
3234
}

‎src/test/java/com/fishercoder/_163Test.java

Lines changed: 64 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -10,97 +10,78 @@
1010

1111
importstaticjunit.framework.Assert.assertEquals;
1212

13-
/**
14-
* Created by fishercoder on 12/31/16.
15-
*/
1613
publicclass_163Test {
1714

18-
privatestatic_163test;
19-
privatestaticList<String>expected;
20-
privatestaticList<String>actual;
21-
privatestaticintlower;
22-
privatestaticintupper;
23-
privatestaticint[]nums;
15+
privatestatic_163.Solution1solution1;
16+
privatestaticList<String>expected;
17+
privatestaticList<String>actual;
18+
privatestaticint[]nums;
2419

25-
@BeforeClass
26-
publicstaticvoidsetup() {
27-
test=new_163();
28-
expected =newArrayList();
29-
actual =newArrayList();
30-
}
20+
@BeforeClass
21+
publicstaticvoidsetup() {
22+
solution1=new_163.Solution1();
23+
expected =newArrayList();
24+
actual =newArrayList();
25+
}
3126

32-
@Before
33-
publicvoidsetupForEachTest() {
34-
expected.clear();
35-
actual.clear();
36-
}
27+
@Before
28+
publicvoidsetupForEachTest() {
29+
expected.clear();
30+
actual.clear();
31+
}
3732

38-
@Test
39-
publicvoidtest1() {
33+
@Test
34+
publicvoidtest1() {
35+
//solution1 case 1: should return ["0->2147483646"]
36+
nums =newint[] {2147483647};
37+
expected.add("0->2147483646");
38+
actual =solution1.findMissingRanges(nums,0,2147483647);
39+
assertEquals(expected,actual);
40+
}
4041

41-
//test case 1: should return ["0->2147483646"]
42-
lower =0;
43-
upper =2147483647;
44-
nums =newint[]{2147483647};
45-
expected.add("0->2147483646");
46-
actual =test.findMissingRanges(nums,lower,upper);
47-
assertEquals(expected,actual);
42+
@Test
43+
publicvoidtest2() {
44+
//solution1 case 2: should return ["-2147483647->-1","1->2147483646"]
45+
nums =newint[] {-2147483648, -2147483648,0,2147483647,2147483647};
46+
expected.add("-2147483647->-1");
47+
expected.add("1->2147483646");
48+
actual =solution1.findMissingRanges(nums, -2147483648,2147483647);
49+
assertEquals(expected,actual);
50+
}
4851

49-
}
52+
@Test
53+
publicvoidtest3() {
54+
//solution1 case 3: should return ["-2147483648->2147483647"]
55+
nums =newint[] {};
56+
expected.add("-2147483648->2147483647");
57+
actual =solution1.findMissingRanges(nums, -2147483648,2147483647);
58+
assertEquals(expected,actual);
59+
}
5060

51-
@Test
52-
publicvoidtest2() {
53-
//test case 2: should return ["-2147483647->-1","1->2147483646"]
54-
lower = -2147483648;
55-
upper =2147483647;
56-
nums =newint[]{-2147483648, -2147483648,0,2147483647,2147483647};
57-
expected.add("-2147483647->-1");
58-
expected.add("1->2147483646");
59-
actual =test.findMissingRanges(nums,lower,upper);
60-
assertEquals(expected,actual);
61-
}
61+
@Test
62+
publicvoidtest4() {
63+
//solution1 case 4: should return ["-2147483648->2147483646"]
64+
nums =newint[] {2147483647};
65+
expected.add("-2147483648->2147483646");
66+
actual =solution1.findMissingRanges(nums, -2147483648,2147483647);
67+
assertEquals(expected,actual);
68+
}
6269

63-
@Test
64-
publicvoidtest3() {
65-
//test case 3: should return ["-2147483648->2147483647"]
66-
lower = -2147483648;
67-
upper =2147483647;
68-
nums =newint[]{};
69-
expected.add("-2147483648->2147483647");
70-
actual =test.findMissingRanges(nums,lower,upper);
71-
assertEquals(expected,actual);
72-
}
70+
@Test
71+
publicvoidtest5() {
72+
//solution1 case 5: should return ["0->2147483647"]
73+
nums =newint[] {};
74+
expected.add("0->2147483647");
75+
actual =solution1.findMissingRanges(nums,0,2147483647);
76+
assertEquals(expected,actual);
77+
}
7378

74-
@Test
75-
publicvoidtest4() {
76-
//test case 4: should return ["-2147483648->2147483646"]
77-
lower = -2147483648;
78-
upper =2147483647;
79-
nums =newint[]{2147483647};
80-
expected.add("-2147483648->2147483646");
81-
actual =test.findMissingRanges(nums,lower,upper);
82-
assertEquals(expected,actual);
83-
}
84-
85-
@Test
86-
publicvoidtest5() {
87-
//test case 5: should return ["0->2147483647"]
88-
lower =0;
89-
upper =2147483647;
90-
nums =newint[]{};
91-
expected.add("0->2147483647");
92-
actual =test.findMissingRanges(nums,lower,upper);
93-
assertEquals(expected,actual);
94-
}
95-
96-
@Test
97-
publicvoidtest6() {
98-
//test case 6: should return ["-2147483647->2147483647"]
99-
lower = -2147483648;
100-
upper =2147483647;
101-
nums =newint[]{-2147483648};
102-
expected.add("-2147483647->2147483647");
103-
actual =test.findMissingRanges(nums,lower,upper);
104-
assertEquals(expected,actual);
105-
}
79+
@Test
80+
publicvoidtest6() {
81+
//solution1 case 6: should return ["-2147483647->2147483647"]
82+
nums =newint[] {-2147483648};
83+
expected.add("-2147483647->2147483647");
84+
actual =solution1.findMissingRanges(nums, -2147483648,2147483647);
85+
assertEquals(expected,actual);
86+
}
10687
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp