最近幾個公司的筆試題

2021-06-09 21:27:30 字數 1557 閱讀 9444

(1)rgb排序,乙個字串,裡面只有三種字元r g b,所有的r都在

g的前面,所有的g都在

b的前面。將給定字串按照此規律排序。要求不允許用輔助空間,複雜度控制在

o(n)

。遍歷一遍就排好序。

這道題有些不好搞,想著用快排達不到o(n)

思路只有遍歷 ,然後利用已經得到的結果處理 還要思考啊~

想了一下,快排的話 取前k個最小值的話,從期望的角度考慮可以達到o(n)

因此我考慮從快排入手 ,只將比g小的放到g之前,將比g大的放在其後。

**如下

#include "stdio.h"

#include "string.h"

#include #include using namespace std;

#define max 1024

int cmp(char c,char d)

else if(c=='g')

else if(c=='r')

return ret;

}int partion(char *str,int s,int e)

給定乙個字串,查詢在不在sequence

裡,位置是多少?

答案:也就是乙個26進製的處理吧,二分查詢吧

(1)區間序列 (2,3) (4.2,6) (7,9)判斷給定的乙個區間與上面哪些區間有交集,比如給定(4,5)則輸出(4.2,6)

答案:並查集解決吧,真的每個區間的點 建立祖先,然後判斷是否祖先相同就行了

(2)兩個有序陣列,a[k]和

b[k]

長度都為

k。求前

k個最小的

(a[i]+b[j])

答案:去a[0]+b[0]作為第乙個,然後a和b分別取後乙個減前乙個差值最小的那一邊

1,strcmp函式實現。

2,判斷大段小段模式。

3,有序鍊錶的建立。

系統設計題:

大圖導航系統:

(1)現有大圖1w

張,畫素:

1024*4096

。系統可以增加或者刪除。

(2)手機螢幕解析度240*320.

記憶體16m

,手機本地儲存

256m

。只能顯示區域性,使用者左右移動來檢視大圖的其他部分。

(3)若干臺pc

機,記憶體

4g,硬碟

800g

,雙核cpu

問題:邏輯結構圖,模組劃分?模組間的關係,為何這麼劃分,原因是?

問題:如果大圖數量增加,安裝該應用的手機客戶端增加,會帶來哪些問題,怎麼解決?

程式設計題:

一棵樹,每個節點儲存乙個數字,找兩個相同的節點(所謂相同的節點是指,兩個節點的值相同,並且它們的子結構也要相同,就是以他倆為跟的那兩顆子樹也要一模一樣。)

答案:遞迴吧

乙個平面,上有n

個點,點與點之間可能有連線,判斷這裡是否有環路。

答案:這個也可以並查集吧,公共祖先的祖先是其孩子 就可能環路吧

幾個筆試題

試題一 float型別的數能否進行 等二進位制運算?試題二 給定乙個單鏈表,判斷該單鏈表是否是回文單鏈表,要求時間複雜度為o n 空間複雜度為o 1 試題三 給定乙個數n,寫乙個程式計算,小於或等於n的非負整數中所含數字1的個數,例如當n為13時,返回值為6,分別出現在1 10 11 12和13中,...

幾個筆試題

1 程序間的通訊方式?管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。有名管道 named pipe 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。訊號量 semophore 訊號量是乙個計數器,...

最近筆試題整理

已知資料表a中每個元素距其最終位置不遠,為了節省時間,應該採取的演算法是 a.直接選擇排序 b.直接插入排序 c.堆排序 d.快速排序 當元素基本有序時,插入排序的排序時間在o n 選b直接選擇排序 straight select sorting 也是一種簡單的排序方法,它的基本思想是 第一次從r ...