經典面試問題

2021-09-30 13:08:43 字數 2454 閱讀 5592

1.對上萬個員工的年齡進行排序,時間複雜度不超過o(n),空間複雜度為常數級別(特點:帶排序的值有乙個範圍)

void sortage(int age,int

length); //第i個位置存i歲的人的個數

for(int i = 0;i

int index = 0;

for(int i = 0 ;ifor(int j = 0 ;j//連續timeage[i]個人都是i歲

++index;

} }}

2.旋轉陣列

輸入乙個遞增陣列的旋轉陣列,輸出旋轉陣列的最小元素。

旋轉之後的陣列實際上可以劃分為兩個排序的子陣列(採用二分查詢的思想),用兩個指標分別指向第乙個元素和最後乙個元素,找到中間的元素,判斷中間位置前後元素的之判斷該位置實在前段陣列還是後段陣列,

還是兩段陣列的邊界。

遞迴的缺陷:遞迴會導致棧溢位:呼叫層級太多的時候 ,就會超出棧的容量。

採用遞迴求菲薄納妾前n項和

long

long fib(unsigned

int n)

上述解法會重複計算大量的數。

採用自底向上的迴圈解法 從fib(0) 和 fib(1)開始計算

long

long fib(int n );

if(n < 2)

return res[n];

long

long fib1 = 1; // fib(1)

long

long fib2 = 0; //fib(0)

long

long fibn = 0;

for(unsigned

int i = 0; i <= n ; ++i)

}

3.給定煉表頭指標 和節點的指標,在o(1)時間內刪除鍊錶的結點

將該節點下乙個節點的位置的值將該節點的值覆蓋,將下乙個節點刪除。

4.鍊錶中的 倒數第k個節點:輸入乙個節點,輸出該鍊錶的倒數第k個節點(利用快指標慢指標)

兩個指標指向頭節點,快指標先向前走k-1步,然後兩個指標再一起移動,最後快指標到達鍊錶末尾的時候慢指標指向倒數第k個節點。

5.鍊錶反**輸入乙個鍊錶的頭節點,輸出反轉後的鍊錶的頭節點。

為了反轉這個單鏈表,我們先讓頭結點的next域指向結點2,再讓結點1的next域指向結點3,最後將結點2的next域指向結點1,就完成了第一次交換,順序就變成了header-結點2-結點1-結點3-結點4-null,然後進行相同的交換將結點3移動到結點2的前面,然後再將結點4移動到結點3的前面就完成了反轉,思路有了,就該寫**了:

linkedlist reversesinglylinkedlist(linkedlist list)

tmp =

list

->next;

while (tmp->next !=

null)

return

list;

}

6.調整陣列的順序,使奇數字於陣列的前半部分,偶數字於後半部分。

解法:維護兩個指標,第乙個指標指向陣列的第乙個元素,只向後移動,

第二個指標指向陣列的最後乙個元素,只向前移動,在兩個指標相遇前,如果第乙個指標內容是偶數並且第二個指標的內容是奇數,交換兩個指標的內容。

void reorder(int

*pdata,unsigned int

length)}}

7.完成乙個函式,輸入乙個二叉樹,輸出它的映象

解法:先前序遍歷樹的每乙個節點,當該節點存在子節點的時候,交換子節點的值。

8.順時針轉圈列印矩陣

9.二叉樹中和為某一值的路徑

10.二叉搜尋樹和雙向鍊錶:輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成乙個排序的雙向鍊錶,不能建立任何新節點,只能調整樹中節點指標的指向。

解法:中序遍歷的過程中,將前驅和後繼連線起來

11.字串的排列,輸入乙個字串,列印出字串中字元的所有排列。

把字串看成兩部分:第一部分是它的第乙個字元,第二部分是其餘的字元

首先求所有可能出現在第乙個位置的字元(把第乙個字元和後面所有字元交換)

接著對剩餘的部分重複同樣的操作

12.陣列**現次數超過一半的數

13.連續子陣列的最大和;輸入乙個整型陣列,陣列裡有正數和負數,求所有子陣列的最大和,要求時間複雜度為o(n)

從第乙個元素開始逐個向後掃瞄,計算到當前和,如果和<= 0 則前面的拋棄,在開始技術,並且不斷根系當前和,知道掃瞄到最後乙個元素。

14.在字串中找出第乙個只出現一次的字元

定義乙個雜湊表,

經典面試問題回答技巧

面試過程中,面試官會向應聘者發問,而應聘者的回答將成為面試官考慮是否接受他的重要依據。對應聘者而言,了解這些問題背後的 貓膩 至關重要。本文對面試中經常出現的一些典型問題進行了整理,並給出相應的回答思路和參 讀者無需過分關注分析的細節,關鍵是要從這些分析中 悟 出面試的規律及回答問題的思維方式,達到...

經典面試問題回答思路

經典面試問題回答思路 面試過程中,面試官會向應聘者發問,而應聘者的回答將成為面試官考慮是否接受他的重要依據。對應聘者而言,了解這些問題背後的 貓膩 至關重要。本文對面試中經常出現的一些典型問題進行了整理,並給出相應的回答思路和參 讀者無需過分關注分析的細節,關鍵是要從這些分析中 悟 出面試的規律及回...

經典的HR面試問題

面試中的16個經典問題 收藏 面試過程中,面試官會向應聘者發問,而應聘者的回答將成為面試官考慮是否接受他的重要依據。對應 聘者而言,了解這些問題背後的 貓膩 至關重要。本文對面試中經常出現的一些典型問題進行了整理,並給出相應的回答思路和參 讀者無需過分關注分析的細節,關鍵是要從這些分析中 悟 出 面...