[HAI] week3 two sum withou hashsum
https://leetcode.com/problems/two-sum-ii-input-array-is-sortedmain
parent
8dcb175459
commit
a54b5b8996
@ -0,0 +1,3 @@
|
|||||||
|
import { twoSum } from "./twoSum";
|
||||||
|
|
||||||
|
export default twoSum;
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
import { describe, it, expect } from "vitest";
|
||||||
|
import { twoSum } from "./twoSum.ts";
|
||||||
|
|
||||||
|
describe("twoSum", () => {
|
||||||
|
|
||||||
|
it("[2,7,11,15] 9 => [1,2]", () => {
|
||||||
|
expect(twoSum([2, 7, 11, 15], 9)).toEqual([1, 2]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("[2,3,4] 6 => [1,3]", () => {
|
||||||
|
expect(twoSum([2, 3, 4], 6)).toEqual([1, 3]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("[-1, 0] -1 => [1, 2]", () => {
|
||||||
|
expect(twoSum([-1, 0], -1)).toEqual([1, 2]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("[5,25,75] 100 => [2,3]", () => {
|
||||||
|
expect(twoSum([5, 25, 75], 100)).toEqual([2, 3]);
|
||||||
|
})
|
||||||
|
});
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
export function twoSum(numbers: number[], target: number): number[] {
|
||||||
|
let L = 0;
|
||||||
|
let R = numbers.length - 1;
|
||||||
|
|
||||||
|
while (L <= R) {
|
||||||
|
const curSum = numbers[L] + numbers[R];
|
||||||
|
if (curSum === target) return [L + 1, R + 1];
|
||||||
|
curSum > target ? R-- : L++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return [-1, -1];
|
||||||
|
};
|
||||||
Loading…
Reference in New Issue