1.给定一个字符串 s
,请你找出其中不含有重复字符的 最长子串 的长度。
示例 :
输入: s = "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
代码如下:
class Solution(object):
def lengthOfLongestSubstring(self, s):
n = len(s)
if n==0: return 0
a = s[0]
result = 1
for i in range(1,n):
if s[i] in a:
result = max(result,len(a))
index = a.find(s[i])
a = a[index+1:] + s[i]
else:
a += s[i]
return max(result,len(a))
2.给定一个非负整数 numRows
,生成「杨辉三角」的前 numRows
行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
示例 1:
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
示例 2:
输入: numRows = 1
输出: [[1]]
代码如下:
class Solution(object):
def generate(self, numRows):
if numRows == 0:
return []
if numRows == 1:
return [[1]]
a = self.generate(numRows-1)
a.append([1]+[a[-1][i-1] + a[-1][i] for i in range(1, numRows-1)]+[1])
return a