2020快手前端實習生筆試題——工程卷

希望大佬們在評論處留下你們寶貴的算法!!!
一共四道編程題
1.與更高者距離(本題限制了語言,只記得js只能用node.js)
用一個數組height[i]存儲一羣旗手從前到後的身高,每個旗手之間距離1米,返回前面高於自己的人的最短距離,若無,則返回0;
例子:
輸入:[175,173,174,163,182,177]
輸出:[0,1,2,1,0,1]
描述:0表示沒有比175高的旗手,1表示比173高的旗手的最短距離爲1米,2表示~~~~~~

2.數組尋值
現有數組A,對於A[i], 若在A[0]~A[i-1]中有且只有一個元素大於A[i],則輸出i,若無,則輸出-1,要求時間複雜度爲O(n)
例子:
輸入:[22,22,33,22,12,45,44,5]
輸出:[4,7]
描述:數組下標爲4和7的元素滿足題目要求

3.手機號碼價值
手機號目前是11位,一般前三位是運營商固定號段,如:188,189,130,後8位爲隨機數字。現在需要實現一個程序對輸入的一批手機號進行靚號篩選和價值排序以確定手機號的售賣價格。
靚號定義
1>後8位中連續3個或3個以上數爲順子號碼,例如:xx0123xx xx5432xx
2>後8位中連續3個或3個以上數重複爲豹子號,例如:xx6666xx xx888xxx
價值規則:
1>連續出現順子號或豹子號位數越多價值越大,例如:xx1234xx大於xx888xxx
2>相同位數的豹子號價值大於順子號價值,例如xx6666xx大於xx2345xx
3>一個號碼中同時有順子和豹子的,以價值大的作爲該號碼價值
4>相同價值的手機號,輸出順序和輸入順序一致(穩定排序)
輸入描述:
一行字符串,包含若干個合法的手機號,手機號之間以逗號分隔
輸出描述:
按價值降序排序之後的靚號,同樣以逗號分隔,如果不存在靚號輸出null
這道題可以參考這位作者的答案,但並不是很完整的解決方法https://blog.csdn.net/wq6ylg08/article/details/105038112
4.放置芯片(具體問題忘了,因爲我看不懂)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章