Skip to content

Commit d7bea6c

Browse files
authored
Merge pull request #494 from sun912/main
[sun] WEEK7
2 parents 3ac0528 + 075404c commit d7bea6c

File tree

3 files changed

+68
-0
lines changed

3 files changed

+68
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
"""
2+
TC: O(n)
3+
SC: O(n)
4+
"""
5+
class Solution:
6+
def lengthOfLongestSubstring(self, s: str) -> int:
7+
str_list = []
8+
max_length = 0
9+
for i in range(len(s)):
10+
if s[i] not in str_list:
11+
str_list.append(s[i])
12+
else:
13+
if max_length < len(str_list):
14+
max_length = len(str_list)
15+
str_list = str_list[str_list.index(s[i])+1:]
16+
str_list.append(s[i])
17+
18+
if max_length < len(str_list):
19+
max_length = len(str_list)
20+
21+
return max_length
22+

number-of-islands/sun912.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"""
2+
TC: O(m*n)
3+
SC: O(m*n)
4+
"""
5+
class Solution:
6+
def numIslands(self, grid: List[List[str]]) -> int:
7+
def dfs(i, j):
8+
if i < 0 or j < 0 or i >= len(grid) or j >= len(grid[0]) or grid[i][j] == "-1" or grid[i][j] == "0":
9+
return
10+
11+
grid[i][j] = "-1"
12+
dfs(i+1, j)
13+
dfs(i, j+1)
14+
dfs(i-1, j)
15+
dfs(i, j-1)
16+
17+
if not grid:
18+
return 0
19+
20+
count = 0
21+
for i in range(len(grid)):
22+
for j in range(len(grid[0])):
23+
if grid[i][j] == "1":
24+
count += 1
25+
dfs(i, j)
26+
return count

reverse-linked-list/sun912.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
"""
2+
TC: O(n)
3+
SC: O(1)
4+
5+
"""
6+
7+
# Definition for singly-linked list.
8+
# class ListNode:
9+
# def __init__(self, val=0, next=None):
10+
# self.val = val
11+
# self.next = next
12+
class Solution:
13+
def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
14+
node, prev = head, None
15+
16+
while node:
17+
next, node.next = node.next, prev
18+
prev, node = node, next
19+
20+
return prev

0 commit comments

Comments
 (0)