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

Feat: TwoSum function created with test cases#1399

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
raklaptudirm merged 12 commits intoTheAlgorithms:masterfromdeveloperr-ayush:master
Oct 4, 2023
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
Show all changes
12 commits
Select commitHold shift + click to select a range
4e38ab5
fix: #758 optimised armstrongNumber code
developerr-ayushSep 30, 2023
f8f0e2a
Merge branch 'master' of https://github.com/developerr-ayush/JavaScript
developerr-ayushOct 1, 2023
184ae84
fix:#758 Average Median code optimised
developerr-ayushOct 1, 2023
b8be2f9
feat: TwoSum function added with test cases
developerr-ayushOct 1, 2023
882db43
revert code
developerr-ayushOct 1, 2023
c58f28f
Fix: #758 used ternary operator to make code more optimised
developerr-ayushOct 1, 2023
bdf8ed8
Feat: TwoSum function created with test cases
developerr-ayushOct 2, 2023
8bde9b9
Feat: TwoSum function created with test cases
developerr-ayushOct 2, 2023
a254b86
Merge branch 'TheAlgorithms:master' into master
developerr-ayushOct 2, 2023
97e147c
Merge branch 'TheAlgorithms:master' into Feature-TwoSum-function
developerr-ayushOct 2, 2023
01539b5
Merge pull request #1 from developerr-ayush/Feature-TwoSum-function
developerr-ayushOct 2, 2023
5733b78
Resolved comments and changes requests
developerr-ayushOct 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletionsMaths/TwoSum.js
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
/**
* Given an array of integers, find two numbers that add up to a specific target.
*
* @param {number[]} nums - The array of integers.
* @param {number} target - The target sum.
* @returns {number[]} - An array containing the indices of the two numbers.
*
* @example
* const nums = [2, 7, 11, 15];
* const target = 9;
* const result = twoSum(nums, target);
* // The function should return [0, 1] because nums[0] + nums[1] = 2 + 7 = 9.
*/

const TwoSum = (nums, target) => {
const numIndicesMap = new Map()
for (let i = 0; i < nums.length; i++) {
const complement = target - nums[i]
if (numIndicesMap.has(complement)) return [numIndicesMap.get(complement), i]
numIndicesMap.set(nums[i], i)
}
return []
}
export { TwoSum }
28 changes: 28 additions & 0 deletionsMaths/test/TwoSum.test.js
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
import { TwoSum } from '../TwoSum.js'
describe('Two Sum', () => {
const testCasesWithoutSolution = [
[[8], 8],
[[3, 3, 3, 3], 19]
]
const testCasesWithSolution = [
[[2, 7, 11, 15], 9, [0, 1]],
[[15, 2, 11, 7], 13, [1, 2]],
[[2, 7, 11, 15], 17, [0, 3]],
[[7, 15, 11, 2], 18, [0, 2]],
[[2, 7, 11, 15], 26, [2, 3]]
]

test.each(testCasesWithoutSolution)(
'Should return an empty array if there is no solution',
(nums, target) => {
expect(TwoSum(nums, target)).toEqual([])
}
)

test.each(testCasesWithSolution)(
'Should return the indices of two numbers that add up to the target',
(nums, target, expected) => {
expect(TwoSum(nums, target)).toEqual(expected)
}
)
})

[8]ページ先頭

©2009-2025 Movatter.jp