Skip to content

Commit b0c3312

Browse files
committed
测试
1 parent 158210a commit b0c3312

File tree

3 files changed

+85
-6
lines changed

3 files changed

+85
-6
lines changed

deno.lock

Lines changed: 64 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

two-sum-iii-data-structure-design/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ export default class TwoSum {
55
this.#m.set(n, (this.#m.get(n) ?? 0) + 1);
66
}
77
find(n: number) {
8-
for (const [a, cnt] of this.#m) {
8+
for (const a of this.#m.keys()) {
99
const b = n - a;
10-
if (a > b) return false;
11-
if (a === b) return cnt > 1;
12-
13-
if (this.#m.has(b)) return true;
10+
if (this.#m.has(b)) {
11+
if (a === b && (this.#m.get(b) ?? 0) < 2) continue;
12+
return true;
13+
}
1414
}
1515
return false;
1616
}

two-sum-iii-data-structure-design/test.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,19 @@ Deno.test("two-sum-iii-data-structure-design", () => {
88
assertEquals(ts.find(4), true);
99
assertEquals(ts.find(7), false);
1010
});
11+
Deno.test("two-sum-iii-data-structure-design", () => {
12+
const ts = new TwoSum();
13+
ts.add(3);
14+
ts.add(1);
15+
ts.add(2);
16+
assertEquals(ts.find(3), true);
17+
assertEquals(ts.find(6), false);
18+
});
19+
Deno.test("two-sum-iii-data-structure-design", () => {
20+
const ts = new TwoSum();
21+
ts.add(3);
22+
ts.add(3);
23+
ts.add(2);
24+
assertEquals(ts.find(3), false);
25+
assertEquals(ts.find(6), true);
26+
});

0 commit comments

Comments
 (0)