Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 77732c9

Browse files
leetcode 1-3 26
1 parent 1827600 commit 77732c9

File tree

4 files changed

+111
-0
lines changed

4 files changed

+111
-0
lines changed

‎new_issue/ZConvert.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
def convert(s, numRows):
2+
"""
3+
:type s: str
4+
:type numRows: int
5+
:rtype: str
6+
"""
7+
n = len(s)
8+
if numRows == 1:
9+
return s
10+
11+
row_num = min(n, numRows)
12+
rows = [""] * row_num
13+
going_down = False
14+
current_row = 0
15+
for i in range(n):
16+
rows[current_row] += s[i]
17+
if current_row == 0 or current_row == row_num - 1:
18+
going_down = not going_down
19+
current_row += 1 if going_down else -1
20+
21+
return "".join(rows)
22+
23+
if __name__ == "__main__":
24+
s= "PAYPALISHIRING"
25+
numRows = 3
26+
print convert(s,numRows)
27+

‎new_issue/findMedianSortedArrays.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
def findMedianSortedArrays(num1,num2):
3+
len1 = len(num1)
4+
len2 = len(num2)
5+
sum_len = len1+len2
6+
all_len = sorted(num1 + num2)
7+
if (sum_len)%2 == 0:
8+
mid = ((sum_len)/2-1,(sum_len/2))
9+
return (float(all_len[mid[0]]) + float(all_len[mid[1]]))/2
10+
else:
11+
mid = int(sum_len/2)
12+
return float(all_len[mid])
13+
14+
if __name__ == "__main__":
15+
nums1 = [-1,0,2,3,109]
16+
nums2 = [2,73,984]
17+
print findMedianSortedArrays(nums1,nums2)

‎new_issue/longestPalindrome.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# coding:utf-8
2+
def longestPalindrome(s):
3+
n = len(s)
4+
if n < 2:
5+
return s
6+
max_length = 1
7+
ret = s[0]
8+
9+
# 设定动态规划的状态标识数组
10+
dp = [[False]*n for _ in range(n)]
11+
# 字符串长度为0时一定为True
12+
for i in range(n):
13+
dp[i][i] = True
14+
# 从2开始,因为i必须小于j
15+
for a in range(2,n+1):
16+
for i in range(n):
17+
j = a + i - 1
18+
19+
if j >= n:
20+
break
21+
if s[i] != s[j]:
22+
dp[i][j] = False
23+
else:
24+
# 处理字符串长度为1和2的情况
25+
if j - i < 3:
26+
dp[i][j] = True
27+
else:
28+
dp[i][j] = dp[i+1][j-1]
29+
30+
if dp[i][j] and j-i+1 > max_length:
31+
ret = s[i:j+1]
32+
max_length = j-i+1
33+
return ret
34+
35+
36+
37+
if __name__ == "__main__":
38+
#s = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
39+
s = "ac"
40+
print longestPalindrome(s)

‎new_issue/reverse.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
def reverse(x):
2+
"""
3+
:type x: int
4+
:rtype: int
5+
"""
6+
if x == 0:
7+
return 0
8+
9+
isNav = x < 0
10+
a = str(x)
11+
b = a[1:][::-1] if isNav else a[::-1]
12+
ret = int(b)
13+
top_limit = 2 >> 30
14+
if isNav:
15+
if ret > top_limit:
16+
return 0
17+
else:
18+
return -ret
19+
if ret > top_limit - 1:
20+
return 0
21+
else:
22+
return ret
23+
24+
25+
if __name__ == "__main__":
26+
x = 13843135
27+
print reverse(x)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /