update

swadhinbiswas committed 2 years ago
1f22b99
1 parent 8dbd201
commit 1f22b99
4 files changed
+173 -0
▼Add Two Numbers.py
+136-0
1
+# # class NodeList:
2
+# # def __init__(self, data=0, next=None):
3
+# # self.data = data
4
+# # self.next = next
5
+
6
+# # class Solution:
7
+# # def addTwoNumbers(self,l1,l2):
8
+# # dummy = NodeList(0)
9
+# # current = dummy
10
+# # carry = 0
11
+# # while l1 or l2:
12
+# # x = l1.data if l1 else 0
13
+# # y = l2.data if l2 else 0
14
+# # sum = carry + x + y
15
+# # carry = sum // 10
16
+# # current.next = NodeList(sum % 10)
17
+# # current = current.next
18
+# # if l1:
19
+# # l1 = l1.next
20
+# # if l2:
21
+# # l2 = l2.next
22
+# # if carry > 0:
23
+# # current.next = NodeList(1)
24
+# # return dummy.next
25
+
26
+
27
+# # until both linked lists are exhausted, and if there is a remaining carry, a new node is added to the result.
28
+
29
+
30
+# # solve=Solution()
31
+
32
+# # l1 = NodeList(2)
33
+# # l1.next = NodeList(4)
34
+# # l1.next.next = NodeList(3)
35
+
36
+# # l2 = NodeList(5)
37
+# # l2.next = NodeList(6)
38
+# # l2.next.next = NodeList(4)
39
+
40
+# # result = solve.addTwoNumbers(l1, l2)
41
+
42
+# # while result:
43
+# # print(result.data, end=" ")
44
+# # result = result.next
45
+
46
+
47
+
48
+
49
+# #best case
50
+
51
+# from typing import Optional
52
+
53
+# class NodeList:
54
+# def __init__(self, data=0, next=None):
55
+# self.data = data
56
+# self.next = next
57
+
58
+# class Solution:
59
+# def addTwoNumbers(self,l1:Optional[NodeList],l2:Optional[NodeList])->Optional[NodeList]:
60
+# outnode = NodeList(0)
61
+
62
+# current = outnode
63
+# carry = 0
64
+# while l1 or l2:
65
+# x=l1.data
66
+# y=l2.data
67
+# sum = carry + x + y
68
+# carry
69
+# solve=Solution()
70
+
71
+# l1 = NodeList(2)
72
+# l1.next = NodeList(4)
73
+# l1.next.next = NodeList(3)
74
+
75
+# l2 = NodeList(5)
76
+# l2.next = NodeList(6)
77
+# l2.next.next = NodeList(4)
78
+
79
+# result = solve.addTwoNumbers(l1, l2)
80
+
81
+# while result:
82
+# print(result.data, end=" ")
83
+# result = result.next
84
+
85
+
86
+#solve using list
87
+
88
+# class Solution:
89
+# def addTwoNumbers(self, l1,l2):
90
+
91
+
92
+# lsi=[2,4,3]
93
+# lsi2=[5,6,4]
94
+# out=[]
95
+# carry=0
96
+
97
+# for i in range(len(lsi)):
98
+# x=lsi[i]
99
+# y=lsi2[i]
100
+# sum=carry+x+y
101
+# carry=sum//10
102
+# out.append(sum%10)
103
+# print(out)
104
+from typing import Optional
105
+
106
+class NodeList:
107
+ def __init__(self, val=0, next=None):
108
+ self.val = val
109
+ self.next = next
110
+
111
+
112
+class Solution:
113
+ def addTwoNumbers(self, l1:Optional[NodeList],l2:Optional[NodeList])->Optional[NodeList]:
114
+ outnode = NodeList(0)
115
+ tail=outnode
116
+ carry=0
117
+ while l1 or l2:
118
+ x=l1.val if l1 else 0
119
+ y=l2.val if l2 else 0
120
+ sum=carry+x+y
121
+ carry=sum//10
122
+ tail.next=NodeList(sum%10)
123
+ tail=tail.next
124
+ if l1:
125
+ l1=l1.next
126
+ if l2:
127
+ l2=l2.next
128
+ if carry>0:
129
+ tail.next=NodeList(1)
130
+ return outnode.next
131
+
132
+
133
+solve=Solution()
134
+lsi=[0]
135
+lsi2=[0]
136
+print(solve.addTwoNumbers(lsi,lsi2))
0
137
▼findposition.py
+7-0
1
+class Solution:
2
+ def searchInsert(self, nums, target: int) -> int:
3
+ for i in range(0,len(nums)):
4
+ if nums[i]==target:
5
+ break
6
+ return i
7
+
0
8
▼longeststring.py
+11-0
1
+class Solution:
2
+ def lengthOfLongestSubstring(self, s: str) -> int:
3
+ l = answer = 0
4
+ chars = [-1]*128
5
+ for r, ch in enumerate(s):
6
+ if chars[ord(ch)] >= l:
7
+ l = chars[ord(ch)]+1
8
+ else:
9
+ answer = max(answer, r-l+1)
10
+ chars[ord(ch)] = r
11
+ return answer
0
12
▼longestsubstring.py
+19-0
1
+class Solution:
2
+ def lengthOfLongestSubstring(self, s: str) -> int:
3
+ l = answer = 0
4
+ chars = [-1]*128
5
+ for r, ch in enumerate(s):
6
+ if chars[ord(ch)] >= l:
7
+ l = chars[ord(ch)]+1
8
+ else:
9
+ answer = max(answer, r-l+1)
10
+ chars[ord(ch)] = r
11
+ return answer
12
+
13
+
14
+solve=Solution()
15
+print(solve.lengthOfLongestSubstring("abcabcbb"))
16
+print(solve.lengthOfLongestSubstring("bbbbb"))
17
+print(solve.lengthOfLongestSubstring("pwwkew"))
18
+print(solve.lengthOfLongestSubstring(""))
19
+print(solve.lengthOfLongestSubstring(" "))
0
20