Skip to content

Commit fd6f832

Browse files
committed
2020-10-03
1 parent ba663fe commit fd6f832

File tree

4 files changed

+51
-36
lines changed

4 files changed

+51
-36
lines changed

0001.两数之和/0001-两数之和.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ def twoSum(self, nums, target):
99
for i, num in enumerate(nums):
1010
if target - num in dic:
1111
return [dic[target - num], i]
12-
dic[num] = i
12+
dic[num] = i

0003.无重复字符的最长子串/0003-无重复字符的最长子串.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ def lengthOfLongestSubstring(self, s):
44
:type s: str
55
:rtype: int
66
"""
7-
record = {}
8-
start, res = 0, 0
9-
for end in range(len(s)):
10-
if s[end] in record:
11-
start = max(start, record[s[end]] + 1)
12-
13-
record[s[end]] = end
14-
res = max(res, end - start + 1)
15-
7+
left, right = 0, 0
8+
dic = dict()
9+
res = 0
10+
while right < len(s):
11+
if s[right] in dic:
12+
left = max(left, dic[s[right]] + 1)
13+
dic[s[right]] = right
14+
res = max(res, right - left + 1)
15+
right += 1
1616
return res
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
class Solution(object):
2+
def findMedianSortedArrays(self, nums1, nums2):
3+
"""
4+
:type nums1: List[int]
5+
:type nums2: List[int]
6+
:rtype: float
7+
"""
8+
res = []
9+
p1, p2 = 0, 0
10+
while p1 < len(nums1) and p2 < len(nums2):
11+
if nums1[p1] <= nums2[p2]:
12+
res.append(nums1[p1])
13+
p1 += 1
14+
else:
15+
res.append(nums2[p2])
16+
p2 += 1
17+
while p1 < len(nums1):
18+
res.append(nums1[p1])
19+
p1 += 1
20+
while p2 < len(nums2):
21+
res.append(nums2[p2])
22+
p2 += 1
23+
print res
24+
return res[len(res) // 2] if len(res) % 2 == 1 else (res[len(res) // 2 - 1] + res[len(res) // 2]) * 1.0 / 2

0005.最长回文子串/0005-最长回文子串.py

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,21 @@ def longestPalindrome(self, s):
44
:type s: str
55
:rtype: str
66
"""
7-
left, right = 0, 0
8-
res, string = 0, ""
7+
res = ""
98
for i in range(len(s)):
10-
left, right = i, i
11-
while(left >= 0 and right < len(s) and s[left] == s[right]):
12-
left -= 1
13-
right += 1
14-
left += 1
15-
right -= 1
16-
17-
if right - left + 1 > res:
18-
res = right - left + 1
19-
string = s[left:right + 1]
20-
21-
for i in range(1, len(s)):
22-
left, right = i - 1, i
23-
while(left >= 0 and right < len(s) and s[left] == s[right]):
24-
left -= 1
25-
right += 1
26-
left += 1
27-
right -= 1
28-
29-
if right - left + 1 > res:
30-
res = right - left + 1
31-
string = s[left:right + 1]
32-
return string
33-
9+
tmp = self.centralSpread(i, i, s)
10+
if len(tmp) > len(res):
11+
res = tmp
12+
tmp = self.centralSpread(i, i + 1, s)
13+
if len(tmp) > len(res):
14+
res = tmp
15+
return res
16+
17+
def centralSpread(self, left, right, s):
18+
res = ""
19+
while left >= 0 and right < len(s) and s[left] == s[right]:
20+
res = s[left: right + 1]
21+
left -= 1
22+
right += 1
23+
# print res, left, right
24+
return res

0 commit comments

Comments
 (0)