leetcode刷題總結 python版

2021-10-03 21:06:39 字數 887 閱讀 3592

1、字串查詢

有兩個字串,str1,str2,在str1裡面找str2字串,如果存在,返回str2在str1中的第乙個字元的位置,不存在,返回-1;

例如str1=『abcds』,str2=『bcd』,返回1;str2='bce',返回-1;

思路:在str1中設定迴圈,迴圈從位置0到str1的長度減去str2長度+1的位置,每迴圈一次,在str1中取出str2長度的子字串,和str2比較,如果匹配,直接返回str1中的迴圈位置,當全部迴圈完,都沒有匹配的,返回-1

#coding=utf-8

import sys

def findstr(str1,str2):

#for j in range(len(str2)):

for i in range(len(str1) - len(str2) + 1):

j = 0

for s in range(i,i+len(str2)):

flag = 0

if str1[s] == str2[j]:

j+=1

else:

flag = -1

break

if flag == 0:

return i

if flag == -1:

return -1

str1 = 'abcd'

str2 = 'bce'

print(findstr(str1,str2))

2、青蛙跳問題,參考部落格

3、二分查詢:參考

4、氣泡排序:參考

5、leetcode總結:

6、三天打魚兩天曬網:

利用datetime模組)

用python刷leetcode的**(特別全)

7、最長回文子串

LeetCode刷題總結

123 4567 891011 12 元素交換 swap a 1 a 3 sort排序 sort a.begin a.end 陣列顛倒 reverse a.begin a.end 陣列元素置為0 memset a,0,a.size 陣列取值 a.push back 定義二維陣列 vector vec...

LeetCode刷題總結

123 4567 891011 12 元素交換 swap a 1 a 3 sort排序 sort a.begin a.end 陣列顛倒 reverse a.begin a.end 陣列元素置為0 memset a,0,a.size 陣列取值 a.push back 定義二維陣列 vector vec...

leetcode刷題總結 6 10題

六 zigzag conversion 本題屬於比較簡單的,很容易就能總結出規律。乙個zigzag數以2 numrows 2為乙個迴圈,每乙個豎行的字母下標為乙個cycle,除了第一行和最後一行,中間各行都要加乙個j cycle 2 i i為從零開始的行號,j為每個迴圈裡i cycle n.clas...