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