[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