File tree Expand file tree Collapse file tree 3 files changed +92
-0
lines changed
product-of-array-except-self Expand file tree Collapse file tree 3 files changed +92
-0
lines changed Original file line number Diff line number Diff line change 1+ class Solution :
2+ def climbStairs (self , n : int ) -> int :
3+ if (n < 1 or n > 45 ):
4+ return 0
5+
6+ def factorial (num ):
7+ if num <= 1 :
8+ return 1
9+
10+ result = 1
11+ for i in range (2 , num + 1 ):
12+ result *= i
13+ return result
14+
15+ steps = 0
16+ cur_steps = 1
17+ quotient = n // 2
18+ k = 0
19+
20+ for _ in range (quotient + 1 ):
21+ cur_steps = factorial (n - k ) / (factorial (k )* factorial (n - 2 * k ))
22+ k += 1
23+ steps += cur_steps
24+
25+ return int (steps )
26+
27+
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def productExceptSelf (self , nums : List [int ]) -> List [int ]:
3+ n = len (nums )
4+ result_list = [0 ] * n
5+ if len (nums ) < 2 or len (nums ) > 1e5 :
6+ return None
7+
8+ p = 1
9+ for i in range (n ):
10+ result_list [i ] = p
11+ p *= nums [i ]
12+
13+ p = 1
14+ for i in range (n - 1 , - 1 , - 1 ):
15+ result_list [i ] *= p
16+ p *= nums [i ]
17+
18+ return result_list
19+
20+
21+
22+ class Solution :
23+ def productExceptSelf (self , nums : List [int ]) -> List [int ]:
24+ result_list = [0 ] * len (nums )
25+ if len (nums ) < 2 or len (nums ) > 1e5 :
26+ return None
27+
28+ for idx in range (0 , len (nums )):
29+ result = 1
30+ for idx_left in range (0 , idx ):
31+ result *= nums [idx_left ]
32+
33+ for idx_right in range (idx + 1 , len (nums )):
34+ result *= nums [idx_right ]
35+
36+ result_list [idx ] = result
37+
38+
39+ return result_list
40+
Original file line number Diff line number Diff line change 1+ from collections import Counter
2+
3+ class Solution :
4+ def isAnagram (self , s : str , t : str ) -> bool :
5+ letter_dict1 = {}
6+ letter_dict2 = {}
7+ letter_list1 = list (s )
8+ letter_list2 = list (t )
9+
10+ for i in letter_list1 :
11+ letter_dict1 [i ] = letter_dict1 .get (i , 0 ) + 1
12+
13+ for j in letter_list2 :
14+ letter_dict2 [j ] = letter_dict2 .get (j , 0 ) + 1
15+
16+ if (letter_dict1 == letter_dict2 ):
17+ return True
18+ else :
19+ return False
20+
21+
22+ class Solution :
23+ def isAnagram (self , s : str , t : str ) -> bool :
24+ return Counter (s ) == Counter (t )
25+
You can’t perform that action at this time.
0 commit comments