From 7bb93349365f3ec6596f40c475dbe57f5e6e54b1 Mon Sep 17 00:00:00 2001 From: spencerkrebs Date: Tue, 28 Apr 2026 21:33:06 -0400 Subject: [PATCH] v1 --- k-diff-pairs.py | 15 +++++++++++++++ pascals-triangle.py | 21 +++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 k-diff-pairs.py create mode 100644 pascals-triangle.py diff --git a/k-diff-pairs.py b/k-diff-pairs.py new file mode 100644 index 00000000..62eb44b9 --- /dev/null +++ b/k-diff-pairs.py @@ -0,0 +1,15 @@ +# O(n) time, O(n) space +class Solution: + def findPairs(self, nums: List[int], k: int) -> int: + # {1: 2, 3: 1, 4: 1, 5: 1} + # k=2 + # nums = [3,1,4,1,5] + counter = Counter(nums) + pairs=0 + for x in counter: + if k != 0 and (x + k) in counter: + pairs+=1 + elif k==0 and counter[x] >= 2: + pairs+=1 + + return pairs \ No newline at end of file diff --git a/pascals-triangle.py b/pascals-triangle.py new file mode 100644 index 00000000..138201ff --- /dev/null +++ b/pascals-triangle.py @@ -0,0 +1,21 @@ +class Solution: + def generate(self, numRows: int) -> List[List[int]]: + + # time O(n^2), space O(1) + res = [] + for i in range(1,numRows+1): + row = [1]*i + # always start at first 2 positions of prev row + l=0 + r=1 + if i > 2: + prevRow = res[-1] + p = 1 + while r < len(prevRow): + row[p] = prevRow[l]+prevRow[r] + p+=1 + l+=1 + r+=1 + res.append(row) + + return res \ No newline at end of file