注釋部分**超時了,優化後如下:
def
test1()
: n =
int(
input()
) arr =
list
(map
(int
,input()
.strip(
).split(
" ")))
[:n]
res =
0for i in
range
(n):
res += countprime(arr[i]
)return res
defcountprime
(n):
if n <2:
return
0 count =
0 count = n //
2# while n >= 2:
# n -= 2
# count += 1
return count
if __name__ ==
'__main__'
:print
(test1(
))
思路:先求總和,之後依次判斷總和中的元素是否有「5」,若存在5,將最小的元素彈出並累計彈出元素和。
def
test3()
: n =
int(
input()
) arr =
list
(map
(int
,input()
.strip(
).split(
" ")))
# n = 1
# arr = [5]
arr.sort(reverse=
true
) count =
0 res =
sum(arr)
tem = res
while tem >0:
if tem %
10==5:
lastpop = arr.pop(
) count += lastpop
if arr:
res =
sum(arr)
+ count - lastpop
tem = res
continue
else
:return
0 tem = tem //
10return res
if __name__ ==
'__main__'
: res = test3(
)print
(res)
2012網易筆試題
1 24小時內,表的時針 分針 秒針完全重合多少次?分別是什麼時刻。2 100萬條記錄,可以通過權值比較大小,選取權值最大的前100條記錄,並有序排列後輸出 3 鏈式資料結構,檢測是否有環 4 用反射建立classa的例項和classa陣列的例項 5 聯合索引的問題。問select語句如何寫,才能用...
2012 10 10網易筆試題
一.用位運算實現加法 int add int a,int b 二.確定cpu的大小端方式 筆試的時候此題做錯了,竟用移位去做.對於此操作,移位不起作用.int main 三.圖的深度遍歷 筆試的時候沒有寫出來,寫出思路為利用棧乙個個結點壓入.直到棧頂那個結點無指向子鏈結或連線已遍歷過或指向的鏈結的結...
2012 10 10網易筆試題
一.用位運算實現加法 int add int a,int b 二.確定cpu的大小端方式 筆試的時候此題做錯了,竟用移位去做.對於此操作,移位不起作用.int main 三.圖的深度遍歷 筆試的時候沒有寫出來,寫出思路為利用棧乙個個結點壓入.直到棧頂那個結點無指向子鏈結或連線已遍歷過或指向的鏈結的結...