//**一
for(int i = 0 ; i問題是,在什麼情景下會出現**一比**二快執行完,在什麼情況下**二比**一快執行完?
答案一:執行緒阻塞可以達到**一比**二更快執行完的效果。具體一點說就是a語句是啟動的乙個執行緒threada,然後threada在執行的過程中受到阻塞。由於只是執行緒threada受到阻塞,對主線程沒什麼影響,主線程會繼續執行下去。所以**什麼時候執行完取決於最後乙個啟動的threada的結束時間。由於二中的最後乙個的啟動時間比一中的早,顧可以出現二比一塊執行完得情況。
答案二是:a,b,c分別都是讀取檔案的操作,在這種情況下**二的效率會比**一的效率高很多
答案三是:a是i--;b是i++;在**二中形成了死迴圈,所以一會比二快
問題二:
乙個長字元竄和乙個短字串,判斷短字串中的所有字元是否在長的字元竄中。
答案是:
一:直接遍歷,效果比較差
二:把所有的長字元竄的字母存進乙個hashmap中,再用段字元竄的所有字母去hashmap中的去找。由於字串很長,所以中間必然很多重複字母,用hashmap儲存去除重複字母,並且查詢效率很高,所以這個演算法效率較高。
三:把長字元竄的所有字母存進乙個set中,記錄set中元素個數a,再繼續把短字串的字母也放進set中,在記錄元素個數b,比較a,b就可以得到結果。
四:用乙個01的竄記錄每個26個字母在長竄中字母是否出現的情況,然後遍歷短竄,可以通過短竄中的字母,找到對應的01位置,判斷短竄的字母是否在長竄中。這種的查詢效率和比hashmap高,而且節省空間。
問題三:
有一百個階梯,乙個人每次可以走一步或者兩步,一共有多少種走法?
答案一:用動態規劃的方法,宣告乙個int result[101]的陣列,用result[n]來儲存當有n級階梯時,一共有多少種走法。可以result=0,result=1,然後result【n】=result【n-1】+result【n-2】
答案二:用排列組合的方法。很容易可以得出走一步的次數x和走兩步的次數y,然後可以用排列組合的方法計算出來
以上的答案如有不對,請各位大牛們批評指出。或者如果大家如果有什麼好的想法也可以分享一下
創新班學習00
1.自己學。勿相互問,學習方法。通過網路學習。怎麼問問題。如何使用搜尋引擎。google。一兩天!周解決問題。2 期望得到的 a 學習能力。解決問題。語言,幾個小時,不超過三天。b.如何保證工作質量。不出錯誤。c目前軟體行業前沿語言,技術,設計。比如。13年使用golang語言,08年使用andro...
騰訊筆試記
這是乙個千載難逢的機會,這是乙個程式愛好者之間的擂台,這是一次千里挑一的冒險,這是乙個走向地獄與天堂的路口,這是一場充滿著變數的遊戲,歸根結底,這是一次筆試 筆試嘛,考的是什麼?是知識,是細心,是心理素質。從今天凌晨2點27分收到筆試的簡訊通知,心裡著實開始緊張了,我的心裡素質一向不太發達,尤其是面...
騰訊醬油記
本以為1週後才出1面名單,結果居然當天晚上12點過發簡訊過來說明天早上9點半在市中心一五星級酒店面試,那個鬱悶啊更暈的是居然還要交簡歷,當時忘了準備,還好can在他mac上幫我改了乙個pdf的簡歷模板,然後半夜2點過才睡。早上6點起床和幾個同學一起趕到市中心。當時的想法就是就是進城耍一趟,去5星級酒...