面試記錄 1 美團電話面試

2021-07-03 23:34:52 字數 744 閱讀 7973

題目:給乙個陣列例如a = ,前面部分是按序遞增,後面部分是按序遞減,求該陣列的最大值。

思路分析:對於給定一組數的求最大值問題,可以使用簡單插入,簡單選擇,冒泡,堆排序對其進行一次操作,可以求出最大值。經分析,時間複雜度為o(n).對陣列特徵分析,陣列是「中間大,兩邊小」特徵,部分有序,可以考慮使用折半查詢演算法進行處理。

基於折半查詢的演算法可以根據比較元素個數有兩個解決辦法,這樣時間複雜度可以降低到logn。具體如下:

方法一:當中間元素和右邊相鄰元素比較時,如果比右邊大,則要查詢最大值在中間位置和其左邊位置的區間內,右邊界設定為中間值,反之在中間值位置和其右邊邊界的區間,左邊界設定為中間值位置。如此迴圈,當邊界差值為1時對應的中間值即為所求最大值。實現**如方法一。

int fun(int a, int n) 

return a[mid] ;

}

方法二:考慮用中間值和左右元素分別進行比較,當中間元素比左邊元素大而比右邊元素大時,中間元素即可所求最大值;若中間元素比左邊大而左邊小時,所求最大值在中間值和其右邊區間,左邊界位置變為中間值位置;若中間元素位置比左邊小二比右邊大時候,最大值在左邊界位置到中間值位置的區間,此時右邊界變為中間值位置。具體實現如下:

int fun2(int a, int n)    

}

美團電話面試總結

1.資料庫優化 2.hashtable與hashmap區別 3 spring mvc流程 4 mongodb與oracle區別 5 常用資料結構,arraylist與linkedlist區別 6 分布式鎖,樂觀鎖 7 事務管理,sessionfactory 8 還做過什麼與網際網路相關的事情 9 s...

美團面試經歷

昨天參加了了美團的面試,二面被掛掉,被掛掉必然不爽,但是總結一下才是王道 之前阿里二面血跪,遇到的問題都是什麼 你是怎麼學習前端的 遇到問題怎麼解決的 我回答的不夠好,個人認為回答沒有體現出自己的思路,當然,有可能是一面的面試本來就不好,二面想看看潛力如何,結果還沒潛力,自然掛掉 然後就是一道演算法...

美團面試經歷

昨天參加了了美團的面試,二面被掛掉,被掛掉必然不爽,但是總結一下才是王道 之前阿里二面血跪,遇到的問題都是什麼 你是怎麼學習前端的 遇到問題怎麼解決的 我回答的不夠好,個人認為回答沒有體現出自己的思路,當然,有可能是一面的面試本來就不好,二面想看看潛力如何,結果還沒潛力,自然掛掉 然後就是一道演算法...