From a2a77557ca2f69c682e6c6f4d1c544a2f470c0e1 Mon Sep 17 00:00:00 2001 From: FredLi Date: Wed, 11 Sep 2024 19:58:39 +0800 Subject: [PATCH 1/2] o(n^2) solution --- two_sum | Bin 0 -> 49220 bytes two_sum.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100755 two_sum diff --git a/two_sum b/two_sum new file mode 100755 index 0000000000000000000000000000000000000000..59e32fe994a35696193d89c8c34eea00f41fbd67 GIT binary patch literal 49220 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 literal 0 HcmV?d00001 diff --git a/two_sum.cpp b/two_sum.cpp index ac6a162..a95ee20 100644 --- a/two_sum.cpp +++ b/two_sum.cpp @@ -7,7 +7,7 @@ vector twoSum(vector& nums, int target) { int n = nums.size(); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { - if (/* TODO */) { + if (nums[i] + nums[j] == target) { // found pair return {i, j}; } From 4c836d58bb62504e739be1d03e24fa84f838cb0a Mon Sep 17 00:00:00 2001 From: FredLi Date: Wed, 11 Sep 2024 20:05:23 +0800 Subject: [PATCH 2/2] O(n^2) v2 --- two_sum.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/two_sum.cpp b/two_sum.cpp index a95ee20..eb757bd 100644 --- a/two_sum.cpp +++ b/two_sum.cpp @@ -7,7 +7,7 @@ vector twoSum(vector& nums, int target) { int n = nums.size(); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { - if (nums[i] + nums[j] == target) { + if (i != j && nums[i] + nums[j] == target) { // found pair return {i, j}; }