File tree Expand file tree Collapse file tree 4 files changed +111
-0
lines changed Expand file tree Collapse file tree 4 files changed +111
-0
lines changed Original file line number Diff line number Diff line change
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
+
Original file line number Diff line number Diff line change
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 )
Original file line number Diff line number Diff line change
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 )
Original file line number Diff line number Diff line change
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 )
You can’t perform that action at this time.
0 commit comments