国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

python算法-快速尋找滿足條件的兩個數

來源:懂視網 責編:小采 時間:2020-11-27 14:28:25
文檔

python算法-快速尋找滿足條件的兩個數

python算法-快速尋找滿足條件的兩個數:題目前提是一定存在這樣兩個數解法一就不寫了...一般想不到吧一開始想到的是解法二最后的用hash表(其實是想到創建一個跟target一樣大的數組啦..存在就寫入index,但是要全部找出,那得二維數組,但是后面想到target要是很大的話,是不是浪費空間了...所以
推薦度:
導讀python算法-快速尋找滿足條件的兩個數:題目前提是一定存在這樣兩個數解法一就不寫了...一般想不到吧一開始想到的是解法二最后的用hash表(其實是想到創建一個跟target一樣大的數組啦..存在就寫入index,但是要全部找出,那得二維數組,但是后面想到target要是很大的話,是不是浪費空間了...所以

題目前提是一定存在這樣兩個數

解法一就不寫了...一般想不到吧

一開始想到的是解法二最后的用hash表

(其實是想到創建一個跟target一樣大的數組啦..存在就寫入index,但是要全部找出,那得二維數組,但是后面想到target要是很大的話,是不是浪費空間了...所以改成Dict)

后面發現題目只要求給出兩個數就好了啊- -

擴展問題比較有意思

找三個應該不難,其它還不清楚,有想再補充...

1.二維數組

def find_pair(A, target):
 B = [[] for i in range(target + 1)]
 for i in range(0, len(A)):
 if A[i] <= target:
 B[A[i]].append(i)
 for i in range(0, target / 2 + 1):
 if len(B[i]) != 0 and len(B[target - i]) != 0:
 print(i, B[i], target-i, B[target-i])
 
if __name__ == "__main__":
 A = [0, 1, 1, 2, 11, 8, 3, 4, 5, 6, 7, 8, 9, 10]
 find_pair(A, 9)

2.字典

def find_pair(A, target):
 B = {}
 for i in range(0, len(A)):
 if A[i] <= target:
 if not B.has_key(A[i]):
 B[A[i]] = [i]
 else:
 B[A[i]].append(i)
 for i in range(0, target / 2 + 1):
 if B.has_key(i) and B.has_key(target-i):
 print(i, B[i], target-i, B[target-i])
 
if __name__ == "__main__":
 A = [0, 1, 1, 2, 11, 8, 3, 4, 5, 6, 7, 8, 9, 10]
 find_pair(A, 9)

3.這種方法都已經重新排序了,不知道書上還返回索引有什么意義...排序偷懶直接用內置的啦...

def find_pair(A, target):
 A.sort()
 i, j = 0, len(A) - 1
 while i < j:
 s = A[i] + A[j]
 if s == target:
 print(i, A[i], j, A[j])
 i += 1
 j -= 1
 elif s < target:
 i += 1
 else:
 j -= 1
 
if __name__ == "__main__":
 A = [0, 1, 1, 2, 11, 8, 3, 4, 5, 6, 7, 8, 9, 10]
 find_pair(A, 9)

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

python算法-快速尋找滿足條件的兩個數

python算法-快速尋找滿足條件的兩個數:題目前提是一定存在這樣兩個數解法一就不寫了...一般想不到吧一開始想到的是解法二最后的用hash表(其實是想到創建一個跟target一樣大的數組啦..存在就寫入index,但是要全部找出,那得二維數組,但是后面想到target要是很大的話,是不是浪費空間了...所以
推薦度:
標簽: 滿足 個數 找出
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲欧美激情另类 | 欧美高清在线不卡免费观看 | 国模冰冰双人炮gogo | 最新国产视频 | 91大神在线精品视频一区 | 另类专区欧美 | 全网毛片免费 | 亚洲综合无码一区二区 | 国产高清视频在线 | 韩国精品欧美一区二区三区 | 亚洲国产精品一区二区三区 | 中文字幕 日韩有码 | 国产日韩欧美精品 | 国产精品视频久久久久 | 日韩一二三| 国产第一页精品 | 国产区91| 亚洲一区二区三区成人 | 阿v精品一区二区三区 | 亚洲一级二级三级 | 亚洲日韩图片专区第1页 | 国产福利久久青青草原下载 | 欧美精| 国产毛片一区二区 | 美女视频黄a视频免费全过程在线 | 国产v欧美v日韩在线观看 | 欧美日韩国产高清一区二区三区 | 成人精品第一区二区三区 | 亚洲欧洲精品一区二区三区 | 国产高清一区二区三区视频 | a黄毛片| 亚洲高清毛片 | 成人黄色一级视频 | 久久久久久综合一区中文字幕 | 国产区精品福利在线社区 | 欧美激情影音先锋 | 精品72久久久久久久中文字幕 | 一久久 | 亚洲精品在线免费 | 免费在线观看亚洲 | 在线综合亚洲欧美自拍 |