2019校招 美團 後台開發工程師面試演算法題

2021-08-26 11:59:11 字數 580 閱讀 1332

已知有陣列a=;

實現將陣列中的0全部移到陣列的最後,並保證其他元素是排序的 ,即輸出為a=;

要求時間複雜度高

我的思路:

首先用兩個變數i,j來控制,兩者皆指向陣列的開始位置,用i記錄當前為0的位置,讓j++來查詢不為0的元素,找到之後將j下標的值賦值給i下標,ij再同時向後移動,直到j找到最後乙個元素,此時整個陣列的全部非0數已經被放到了i下標之前的位置。從當前i下標開始到陣列結束全部賦值為0即可。演算法複雜度為o(n)

**實現:

void sort(int a,int n)

}for(;i0;

}

校招 面試 美團點評 後端開發工程師

1.程式設計題 給定整數陣列a 3 4 5 8 11 9 4 7 6 整數t 12,輸出陣列a的子陣列b a的若干連續元素組成 的長度,滿足b的元素之和大於t,且b的元素數最少。答 暴力求解 列舉所有子陣列,分別求和,找到滿足條件的最短的子陣列。複雜度為o n 2 設定游標 設定左游標和右游標,右游...

美團2019校招 程式設計

說給了一張包含個n個點n 1條邊的無向連通圖,節點從1到n編號,每條邊長度均為1,設你從1號節點出發並打算遍歷所有節點,那麼總路程至少是多少?輸入 第一行包含乙個整數n,接下來n 1行,每行包括兩個整數x,y表示x與y之間有一條邊 輸出 總路程最小和 樣例 4 1 21 3 3 4輸出 4 incl...

努比亞2017校招開發工程師試卷

1.寫一函式inf fun char p 判斷一字串是否為回文,是返回1,不是返回0,出錯返回 1。2.動態區域性變數儲存在棧裡面,靜態區域性變數和全域性變數儲存在 中。3.輸入三個整數,判斷是否可構成三角形,請根據你了解的測試用例設計方法設計用例。4.現有以下元素 學號,姓名,性別,年齡,年級,課...