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...