只記得程式設計題了,前面還有25題不定項選擇
程式設計1
給你乙個從1到n的序列,你需要一直執行n次操作。每次操作先計算序列裡剩餘數字的最大公因數,把這個數字放入另乙個序列中,再從原序列選擇乙個數字刪除。
你要以怎樣的順序刪除這個序列裡的數字,才能使得到的另乙個序列裡的n個最大公因數字典序最大?
輸入描述:
乙個數字n 1<=n<=1000000
輸出描述:
n個數字,最大的公因數字典序
例項1input
3output
1 1 3
說明:把1,2,3的最大公因數1輸出,刪除1;把2,3的最大公因數1輸出,刪除2;把3的最大公因數輸出,刪除3.
輸出結果1 1 3
例項2input
2output
1 1 2 4
程式設計2
小q發現了一種特殊的陣列,叫做自增陣列。這個陣列支援一種操作:每次操作可以把陣列中的乙個數自增1.
現在有乙個長度為n的自增陣列,小q現在想利用這個操作把陣列中的每個數變得不一樣,英文最少需要多少次操作?
輸入描述:
第一行,乙個整數n(n<=10000)
第二行,n個空格間隔的整數,即陣列中的元素ai(-10000<=ai<10000)
input
51 2 3 2 5
output
2python3.5.2**
n = int(input())
num = map(int,input().split())
num = list(num)
num.sort()
num1 = num.copy()
def count(num):
n = len(num)
re = dict()
for i in range(n-1):
if num[i] == num[i+1]:
re[i+1] = num[i+1]
return re
re = count(num)
for key,value in re.items():
val = value + 1
while val in num:
val += 1
num[key] = val
sum = 0
for i in range(n):
sum = sum + (num[i]-num1[i])
print(sum)
效率如何不知道。。。。
程式設計3
小q的好朋友牛牛在紙上寫了長度為n的正整數數列。牛牛要求小q每次從數列中選取兩個數a,b,把這兩個數從數列中移除出去,然後再數列中加入a*b+1,直到只剩乙個數為止。
小q發現根據操作順序的不同,最後得到的數的大小也不一樣。小q現在想讓你幫他計算,在所有情況中能獲得的最大值減去能獲得的最小值等於多少?
輸入描述:
第一行,乙個正整數n,(1<=n<=50),表示正整數序列的長度;
在接下來的n行中,每行輸入乙個整數ai,即初始數列中的的每乙個數。保證所有資料計算結果均在64位有符號整數範圍之內。
輸出描述:
輸出乙個數,表示最大最小之差。
例項1input31
23output
2
2019 9 1騰訊第二次筆試
第三題 有n個人,每個人有兩個值ai,bi,第i個人的不滿意度為站在他前面的人的個數乘以ai 加上站在他後面的人的個數乘以bi。0 每個人的下標 n 1 給他們排好序,value i i a i n 1 i b i,使得所有value i相加最小是多少 第四題 種白花和紅花,白花必須有k的倍數個相連...
位元組跳動第二次筆試
1 和leetcode547很像,一開始可以先把滿足 3的變成1,然後就轉換成leetcode547了 2def getres n f 0 n 1 f 0 1for i in range 1 n 1 for j in range i f i f j f i 1 j return f print ge...
位元組第二次筆試題目
因為7月4號的筆試時間記錯了,遲了40分鐘,只ac了前面兩題,應該沒過 7月11號守著電腦來做的,ac了三道題,不知道能不能給機會面試,宇宙條太狠了 1.動態規劃問題 幾個人排隊,找出這個位置的人前面最近的身高高於他的人的身高 2.入棧,出棧的序列是否合法 通過乙個輔助棧吧,leetcode上面的劍...