面試題:能談談Date、Datetime、Time、Timestamp、year的區別嗎?
阿新 • • 發佈:2020-11-13
1.氣泡排序法
Num=[18,8,7,2,3,6,1,1] i=0 compare=0 #比較元素初始值 Num_len=len(Num) #獲取列表長度 while i<Num_len: j=1 #迴圈控制變數 while j<Num_len-i: #迴圈一遍長度-1 if Num[j-1]>Num[j]: compare=Num[j-1] Num[j-1]=Num[j] Num[j]=compare j+=1 i+=1 print(Num) #列印結果[1, 1, 2, 3, 6, 7, 8, 18]
2.二分查詢法(需為有序集合)
Num=[1,1,2,3,6,7,8,18] low=0 high=len(Num)-1 #上下界 find_value=8 find_OK=False #True為找到元素 i=1 #統計查詢次數 while low<high: middle=int((low+high)/2) #int取整避免浮點數 if find_value==Num[middle]: find_OK=True #設定找到標誌為True break elif find_value>Num[middle]: #未找到,要找的範圍大於中位值時 low=middle+1 elif find_value<Num[middle]: #未找到,要找的範圍小於中位值時 high=middle-1 i+=1 if find_OK: print("%d在列表下標%d處查找了%d次" %(find_value,middle,i)) else: print("要找的數%d沒有,找了%d次" %(find_value,i))