From 5018df772d7bb7219c6783bbed2a6049c4ff7612 Mon Sep 17 00:00:00 2001 From: Aldrin Marz7! <53973174+Dhoni77@users.noreply.github.com> Date: Thu, 7 Apr 2022 12:24:50 +0530 Subject: [PATCH 1/9] Added cpp solution --- .../0923.3Sum With Multiplicity/Solution.cpp | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp diff --git a/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp b/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp new file mode 100644 index 0000000000000..ff2833bbd00bc --- /dev/null +++ b/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp @@ -0,0 +1,20 @@ +Class Solution{ +public: + int threeSumMulti(vector& A, int target) { + unordered_map c; + for (int a : A) c[a]++; + long res = 0; + for (auto it : c) + for (auto it2 : c) { + int i = it.first, j = it2.first, k = target - i - j; + if (!c.count(k)) continue; + if (i == j && j == k) + res += c[i] * (c[i] - 1) * (c[i] - 2) / 6; + else if (i == j && j != k) + res += c[i] * (c[i] - 1) / 2 * c[k]; + else if (i < j && j < k) + res += c[i] * c[j] * c[k]; + } + return res % int(1e9 + 7); + } +}; From db1485656ed978dadb7c3e55a72808d0ba4b5c77 Mon Sep 17 00:00:00 2001 From: Aldrin Marz7! <53973174+Dhoni77@users.noreply.github.com> Date: Thu, 7 Apr 2022 12:25:22 +0530 Subject: [PATCH 2/9] Update README.md --- .../0923.3Sum With Multiplicity/README.md | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/solution/0900-0999/0923.3Sum With Multiplicity/README.md b/solution/0900-0999/0923.3Sum With Multiplicity/README.md index 208d492a56d04..eed7245d60562 100644 --- a/solution/0900-0999/0923.3Sum With Multiplicity/README.md +++ b/solution/0900-0999/0923.3Sum With Multiplicity/README.md @@ -68,10 +68,29 @@ arr[i] = 1, arr[j] = arr[k] = 2 出现 12 次: ``` -### **...** - -``` - +### **C++** + +```cpp +Class Solution{ +public: + int threeSumMulti(vector& A, int target) { + unordered_map c; + for (int a : A) c[a]++; + long res = 0; + for (auto it : c) + for (auto it2 : c) { + int i = it.first, j = it2.first, k = target - i - j; + if (!c.count(k)) continue; + if (i == j && j == k) + res += c[i] * (c[i] - 1) * (c[i] - 2) / 6; + else if (i == j && j != k) + res += c[i] * (c[i] - 1) / 2 * c[k]; + else if (i < j && j < k) + res += c[i] * c[j] * c[k]; + } + return res % int(1e9 + 7); + } +}; ``` From 8064eddc71d1d1ba6844f30ea6e606488b83de57 Mon Sep 17 00:00:00 2001 From: Aldrin Marz7! <53973174+Dhoni77@users.noreply.github.com> Date: Thu, 7 Apr 2022 12:25:48 +0530 Subject: [PATCH 3/9] Update README_EN.md --- .../0923.3Sum With Multiplicity/README_EN.md | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md b/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md index 75fbb07f25b10..b13be00a1edfd 100644 --- a/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md +++ b/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md @@ -58,10 +58,29 @@ and two 2s from [2,2,2,2] in 6 ways. ``` -### **...** - -``` - +### **C++** + +```cpp +Class Solution{ +public: + int threeSumMulti(vector& A, int target) { + unordered_map c; + for (int a : A) c[a]++; + long res = 0; + for (auto it : c) + for (auto it2 : c) { + int i = it.first, j = it2.first, k = target - i - j; + if (!c.count(k)) continue; + if (i == j && j == k) + res += c[i] * (c[i] - 1) * (c[i] - 2) / 6; + else if (i == j && j != k) + res += c[i] * (c[i] - 1) / 2 * c[k]; + else if (i < j && j < k) + res += c[i] * c[j] * c[k]; + } + return res % int(1e9 + 7); + } +}; ``` From 0af5813c3b1dee55843d67bb6b671b008f14bf94 Mon Sep 17 00:00:00 2001 From: Aldrin Marz7! <53973174+Dhoni77@users.noreply.github.com> Date: Thu, 7 Apr 2022 13:51:13 +0530 Subject: [PATCH 4/9] Update README_EN.md --- solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md b/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md index b13be00a1edfd..9bab1be36d3a0 100644 --- a/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md +++ b/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md @@ -61,7 +61,7 @@ and two 2s from [2,2,2,2] in 6 ways. ### **C++** ```cpp -Class Solution{ +class Solution{ public: int threeSumMulti(vector& A, int target) { unordered_map c; From 908c948c79ddf800c9c6e5d33748e7d5d6aaec32 Mon Sep 17 00:00:00 2001 From: Aldrin Marz7! <53973174+Dhoni77@users.noreply.github.com> Date: Thu, 7 Apr 2022 13:51:35 +0530 Subject: [PATCH 5/9] Update README.md --- solution/0900-0999/0923.3Sum With Multiplicity/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/0900-0999/0923.3Sum With Multiplicity/README.md b/solution/0900-0999/0923.3Sum With Multiplicity/README.md index eed7245d60562..c438928346758 100644 --- a/solution/0900-0999/0923.3Sum With Multiplicity/README.md +++ b/solution/0900-0999/0923.3Sum With Multiplicity/README.md @@ -71,7 +71,7 @@ arr[i] = 1, arr[j] = arr[k] = 2 出现 12 次: ### **C++** ```cpp -Class Solution{ +class Solution{ public: int threeSumMulti(vector& A, int target) { unordered_map c; From 0f47128194dd40ffc2447280e0c485eac49975b8 Mon Sep 17 00:00:00 2001 From: Aldrin Marz7! <53973174+Dhoni77@users.noreply.github.com> Date: Thu, 7 Apr 2022 13:51:49 +0530 Subject: [PATCH 6/9] Update Solution.cpp --- solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp b/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp index ff2833bbd00bc..daf0bff1392bb 100644 --- a/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp +++ b/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp @@ -1,4 +1,4 @@ -Class Solution{ +class Solution{ public: int threeSumMulti(vector& A, int target) { unordered_map c; From 49466fcbdd27fc8f38c9fcdf0e4e7fe2d995ef00 Mon Sep 17 00:00:00 2001 From: Yang Libin Date: Thu, 7 Apr 2022 21:25:02 +0800 Subject: [PATCH 7/9] Update README.md --- solution/0900-0999/0923.3Sum With Multiplicity/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solution/0900-0999/0923.3Sum With Multiplicity/README.md b/solution/0900-0999/0923.3Sum With Multiplicity/README.md index c438928346758..7a9a9b5d36e21 100644 --- a/solution/0900-0999/0923.3Sum With Multiplicity/README.md +++ b/solution/0900-0999/0923.3Sum With Multiplicity/README.md @@ -71,11 +71,11 @@ arr[i] = 1, arr[j] = arr[k] = 2 出现 12 次: ### **C++** ```cpp -class Solution{ +class Solution { public: - int threeSumMulti(vector& A, int target) { + int threeSumMulti(vector& arr, int target) { unordered_map c; - for (int a : A) c[a]++; + for (int a : arr) c[a]++; long res = 0; for (auto it : c) for (auto it2 : c) { From f2bf23d29135824362f12a8fa0adec6376092a18 Mon Sep 17 00:00:00 2001 From: Yang Libin Date: Thu, 7 Apr 2022 21:25:30 +0800 Subject: [PATCH 8/9] Update README_EN.md --- solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md b/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md index 9bab1be36d3a0..312313f07c5a0 100644 --- a/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md +++ b/solution/0900-0999/0923.3Sum With Multiplicity/README_EN.md @@ -61,11 +61,11 @@ and two 2s from [2,2,2,2] in 6 ways. ### **C++** ```cpp -class Solution{ +class Solution { public: - int threeSumMulti(vector& A, int target) { + int threeSumMulti(vector& arr, int target) { unordered_map c; - for (int a : A) c[a]++; + for (int a : arr) c[a]++; long res = 0; for (auto it : c) for (auto it2 : c) { From f1273e9e71c97449d94cf255e4e40508751c6de0 Mon Sep 17 00:00:00 2001 From: Yang Libin Date: Thu, 7 Apr 2022 21:26:02 +0800 Subject: [PATCH 9/9] Update Solution.cpp --- solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp b/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp index daf0bff1392bb..82d9fbc52a748 100644 --- a/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp +++ b/solution/0900-0999/0923.3Sum With Multiplicity/Solution.cpp @@ -1,8 +1,8 @@ -class Solution{ +class Solution { public: - int threeSumMulti(vector& A, int target) { + int threeSumMulti(vector& arr, int target) { unordered_map c; - for (int a : A) c[a]++; + for (int a : arr) c[a]++; long res = 0; for (auto it : c) for (auto it2 : c) {