From 3e5dca8d28bf14fb91fd80733e1bd2c9d39e6674 Mon Sep 17 00:00:00 2001 From: restacksyj Date: Tue, 16 Sep 2025 02:08:28 -0400 Subject: [PATCH 1/2] Completed both the problems --- Exercise1.cpp | 39 +++++++++++++++++++++++++++++++++++++++ Exercise2.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ a.out | Bin 0 -> 40992 bytes 3 files changed, 80 insertions(+) create mode 100644 Exercise1.cpp create mode 100644 Exercise2.cpp create mode 100755 a.out diff --git a/Exercise1.cpp b/Exercise1.cpp new file mode 100644 index 00000000..545fefcc --- /dev/null +++ b/Exercise1.cpp @@ -0,0 +1,39 @@ +// Problem - Pascal Triangle +// Time Complexity : O(n^2) +// Space Complexity : O(1) +// Did this code successfully run on Leetcode : Yes +// Any problem you faced while coding this : No + +// Explaination +// 1. We initialize the result 2d array with 1 element our base condition +// 2. We go through each row and if we have our at first or last element we just +// add 1 +// 3. Otherwise we add previous_row above_col value and previous_row above_col - +// 1 value + +#include +using namespace std; + +class Solution { +public: + vector> generate(int numRows) { + vector> res = {{1}}; + if (numRows == 1) + return res; + for (int i = 1; i < numRows; i++) { + vector temp; + for (int j = 0; j <= i; j++) { + // base cond + if (j == 0 || j == i) { + temp.push_back(1); + } else { + // logic + temp.push_back(res[i - 1][j] + res[i - 1][j - 1]); + } + } + res.push_back(temp); + } + + return res; + } +}; diff --git a/Exercise2.cpp b/Exercise2.cpp new file mode 100644 index 00000000..5393c3d9 --- /dev/null +++ b/Exercise2.cpp @@ -0,0 +1,41 @@ +// Problem - K-diff pairs in an Array +// Time Complexity : O(n) +// Space Complexity : O(1) +// Did this code successfully run on Leetcode : Yes +// Any problem you faced while coding this : No + +// Explaination +// 1. We first sort the array so that we can use two pinters to navigate +// 2. We treat like a two sum problem skip duplicates and not using the same +// index, and make the pointer forward based on current value < k or > k +// 3. In the end we return the count + +#include +using namespace std; + +class Solution { +public: + int findPairs(vector &nums, int k) { + sort(nums.begin(), nums.end()); + int n = (int)nums.size(); + int count = 0; + int i = 0; + int j = 0; + + while (i < n && j < n) { + if (i == j || nums[j] - nums[i] < k) + j++; + else if (nums[j] - nums[i] > k) + i++; + else { + i++; + j++; + count++; + while (i < n && nums[i] == nums[i - 1]) + i++; + } + } + + return count; + } +}; diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..d51996e6dbd291cf10820b26e6653212bf06a17e GIT binary patch literal 40992 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 Z)itbY2zXaXNkdaWzO?~uti_LT|1VwHPsIQL literal 0 HcmV?d00001 From 57a70e383ac3ead293206c279d630d29695e1ed3 Mon Sep 17 00:00:00 2001 From: restacksyj Date: Tue, 16 Sep 2025 04:12:18 -0400 Subject: [PATCH 2/2] removed a.out so llm doesn't get confused --- a.out | Bin 40992 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 a.out diff --git a/a.out b/a.out deleted file mode 100755 index d51996e6dbd291cf10820b26e6653212bf06a17e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40992 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 Z)itbY2zXaXNkdaWzO?~uti_LT|1VwHPsIQL