网易2020校招笔试编程题回顾
把今天的記憶里面的筆試題的情況梳理一下,投遞的是算法工程師:
題型總共分為選擇題10*1? 編程題10、20、20、30? 問(wèn)答題5*2
編程題:
1、倒數(shù)排序:給你一個(gè)數(shù)n,以及1-n的一個(gè)排列,讓你根據(jù)這個(gè)全排列的位置找到這個(gè)倒數(shù)全排列這個(gè)位置的排列
例如:n= 3
全排列有? 123 132 213 231 312 321? 輸入n=3 排列 123? 輸出 321? ?123對(duì)應(yīng)位置1 讓你輸出倒數(shù)第一個(gè)位置的排列
思路:需要把兩個(gè)放在一起對(duì)比一下發(fā)現(xiàn)規(guī)律? output_i?= n + 1 - input_i
#encoding = 'utf-8'import sysif __name__ == "__main__":n = sys.stdin.readline().strip()L = sys.stdin.readline()L = [int(item) for item in L.strip().split(' ')]res = ''for item in L:res += str(int(n)+1-item) + " "print(res)2、數(shù)字圓環(huán)
給你一個(gè)數(shù)n和一個(gè)數(shù)組,讓你判斷這個(gè)數(shù)組是否可以構(gòu)成圓環(huán),需要滿(mǎn)足一個(gè)數(shù)左邊的數(shù)+右邊的數(shù)大于這個(gè)數(shù)
思路:首先對(duì)數(shù)組進(jìn)行排序,除了最后一個(gè)數(shù)字,都滿(mǎn)足相鄰兩個(gè)數(shù)大于自己,對(duì)于最后一個(gè)數(shù)字,交換最后兩個(gè)數(shù)字,判斷是否滿(mǎn)足條件即可
# encodng = 'utf-8'import sysif __name__ == '__main__':n = int(sys.stdin.readline().strip())result = [int(line) for line in sys.stdin.realine().strip().split(' ')]for i in range(n):result.sort()if result[0] + result[-2] > result[-1]:print("YES")else:tmp = result[-1]result[-1] = result[-2]result[-2] = tmpif result[-2] < result[-1] +result[-3] and result[0] + result[-2] > result[-1]:print("YES")else:print("NO")3、奇偶交換
?給你一個(gè)數(shù)組,如果ai+aj為奇數(shù),則ai和aj互換,最終輸出的數(shù)組由小到大
# encoding = 'utf-8'import sysif __name__ == "__main__":n = int(sys.stdin.readline().strip())line = sys.stdin.readline().strip()value = [int(item) for item in line]temp1 = [x for x in value if x%2 == 0]temp2 = [x for x in value if x%2!=0]if temp1 != [] and temp2 !=[]:value.sort()result = [str(x) for x in value]print((' '.join(result)))4、優(yōu)秀的01序列
?
問(wèn)答題:
1、隨機(jī)梯度下降原理?? ?梯度消失、梯度爆炸? 是什么以及怎么解決梯度消失和梯度爆炸?
2、說(shuō)一下你知道的循環(huán)神經(jīng)網(wǎng)絡(luò)?介紹一種循環(huán)神經(jīng)網(wǎng)絡(luò)的 原理 結(jié)構(gòu) 以及公式推導(dǎo)過(guò)程?
總結(jié)
以上是生活随笔為你收集整理的网易2020校招笔试编程题回顾的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。