目錄
1.寫在之前
2.前情提要
3.開始解題
3.1 LIOJ#1036 Array reverse
3.2 LIOJ#1037 Array filter
3.3 LIOJ#1038 Array indexOf
3.4 LIOJ#1039 Array fill
3.5 LIOJ#1040 Array join
3.6 LIOJ#1041 String trim
3.7 LIOJ#1042 String toLowerCase
3.8 LIOJ#1043 String endWith
3.9 LIOJ#1044 String padEnd
3.10 LIOJ#1045 String slice
4.全部Code
5.小心得
寫在之前
- 完整課程傳送門
- 系列文:[Lidemy 學習筆記]-先別急著寫 leetcode Unit0
- 系列文:[Lidemy 學習筆記]-先別急著寫 leetcode Unit1//教練,我想要寫Code
- 系列文:[Lidemy 學習筆記]-先別急著寫 leetcode Project1//實作:字串反轉、陣列總和、找最大值
- 系列文:[Lidemy 學習筆記]-先別急著寫 leetcode Project2//實作:找陣列次小值、大小寫互換、印出因數
- 系列文:[Lidemy 學習筆記]-先別急著寫 leetcode Project3//實作:靈魂伴侶、音速小子、貪婪的小偷
- [Lidemy 學習筆記]-先別急著寫 leetcode U4//實作:判斷質數、好多星星、印出金字塔、印出聖誕樹、NM乘法表、水仙花數
- [Lidemy 學習筆記]-先別急著寫 leetcode U5//實作:經典題目
前情提要
本系列文為學習Huli製作的課程先別急著寫leetcode的心得與實作分享,使用Python 語言,正進入到Unit 6,也覺得快到尾聲了~
通過這單元的實作,真的在使用內建函式時,心裡更有底氣、更踏實且不會心虛,(尤其是python 內建函式或package 使用量很大的情況),以下題目也會以製成function的方法來實作。
附上 LIOJ 連結,https://oj.lidemy.com/problem
以下省略題目部分,只放解法程式
開始解題
LIOJ#1036 Array reverse
- 解法一
array=[]# input
N=int(input())for i in range(N):
array.append(int(input()))# reverse
for j in range(len(array)):
print(array[len(array)-j-1])
- 解法二
# input
N=int(input())# reverse
def array_reverse(N):
array=[]for i in range(N):
array.append(int(input()))for j in range(len(array)):
print(array[len(array)-j-1])array_reverse(N)
LIOJ#1037 Array filter
# delete num
delete=int(input())# total num
N = int(input())# filter
def filter(delete,N):
array=[]for i in range(N):
tmp=int(input())if tmp!=delete :
array.append(tmp)for j in range(len(array)):
print(array[j])filter(delete,N)
LIOJ#1038 Array indexOf
# target num
target=int(input())# total num
N = int(input())# indexof
def indexof(target,N):
array=[]for i in range(N):
array.append(int(input()))for j in range(len(array)):
if array[j]==target:
print(j)
break
else:
print("-1")indexof(target,N)
LIOJ#1039 Array fill
# target num
target=int(input())# total num
N = int(input())# indexof
def fill(target,N):
array=[]for i in range(N):
array.append(int(input()))for j in range(len(array)):
print(target)fill(target,N)
LIOJ#1040 Array join
- 解法一
# target num
target=str(input())# total num
N = int(input())# join
def join(target,N):
array=[]
for i in range(N):
array.append(int(input()))for j in range(len(array)):
if j ==0:
new_str=str(array[j])
else:
new_str+=str(target)
new_str+=str(array[j])
print(new_str)join(target,N)
- 解法二
# target num
target=str(input())# total num
N = int(input())def join(target,N):
array=[]
for i in range(N):
array.append(int(input()))for j in range(len(array)):if j==len(array)-1:
print(str(array[j]),end='')
else:
print(str(array[j]),end='')
print(str(target),end='')join(target,N)
LIOJ#1041 String trim
string=str(input())def trim(string):
New_string=''
for i in range(len(string)):
if string[i]!=' ':
New_string=string[i:]
break
print(New_string)
trim(string)
LIOJ#1042 String toLowerCase
string=str(input())# A~Z :65~90
# a~z :97~122def toLowerCase(string):
New_string=''
for i in range(len(string)):if 65<=ord(string[i])<=90:
New_string+=str(chr(ord(string[i])+32))else:
New_string+=str(string[i])
print(New_string)
toLowerCase(string)
LIOJ#1043 String endWith
string=str(input())
target=str(input())def endwith(string,target):
if string[(len(string)-len(target)):len(string)]==target:
print("true")
else:
print("false")
endwith(string,target)
LIOJ#1044 String padEnd
string=str(input())
length=int(input())
pad=str(input())def padEnd(string,length,pad): if len(string)>=int(length):
print(string)
else:
New_str=string while int(len(New_str))<int(length) :
New_str+=pad if int(len(New_str))==int(length):
print(New_str) else:
print(New_str[0:int(length)])padEnd(string,length,pad)
LIOJ#1045 String slice
string=str(input())
start=int(input())
end=int(input())def slice(string,start,end):
print(string[start:end])
slice(string,start,end)
全部Code
小心得
跟著課程學習越寫越順,原本要想很久的題目,慢慢得拆解一步步建造成完整的功能,也越來越快一次AC了!繼續加油~~~
❤️感恩看到這裡的你,希望這篇文章有幫上你👏歡迎拍手給我鼓勵,我是甜不辣馬拉松,我們下次見