技術 試題 總結

2021-06-10 06:54:47 字數 1272 閱讀 1493

58同城:

1.10只老鼠10只杯檢測1000瓶酒中的毒酒

題目:現有1000瓶葡萄酒,只知道其中有一瓶是毒酒,但不知道是哪瓶,喝一點點毒酒,就會在一周之內發病死亡。試用最少的老鼠在一周時間試出哪瓶酒有毒。

solution:

1、編號:

給葡萄酒標上數字:1-1000;給老滑鼠上:0-9; 相應給杯標上:0-9; 每只老鼠配乙隻相同編號的杯子。

2、分酒:(根據2進製)

編號為1的葡萄酒分給編號為以下的杯子:0 (2^0 = 1)

編號為2的葡萄酒分給編號為以下的杯子:1 (2^1 = 2)

編號為3的葡萄酒分給編號為以下的杯子:1、0 (2^0 + 2^1 = 3)

。。。。

編號為1000的葡萄酒分給編號為以下的杯子:9、8、7、6、5、2、1、0(2^9 + 2^8 + 2^7 + 2^6 + 2^5 + 2^2 + 2^1 + 2^0 = 1000)

3、試酒:

讓老鼠喝下相同編號的杯子。

4、找毒酒:

找出死掉的老鼠,記下其編號x、y、z……。

毒酒應該是編號為:2^x + 2^y + 2^z + ……

**自:

2.全排列 

public static void main(string args)

void m_permutation(char arr,int start)

{ if(start>=arr.length-1)

system.out.println(arr);

else

{ for(int i=start;i

3.三維陣列 

題目:arr[a][b][c],起始位址m,單元空間是n,求arr[x][y][z]位址。

m+n*(x*b*c+y*c+z)。

4.相隔朋友數

有person m陣列,儲存不同的人;其中,person類包含個人的id,以及他的朋友陣列person friends.求m陣列中某兩個人的相隔的最少朋友數n,a和b是朋友,則n=0。

遍歷m,建立乙個無向圖,使是直接朋友的元素相連,再求每對頂點間的最短路徑即可。其中,因為邊的權值非負,可以使用dijkstra演算法(複雜度:o(n^2).),當然也可以使用floyd-warshall演算法(複雜度:o(n^3).)。

C C 技術筆試題

指標 include void getmemery char p,int num int main 答案 程式崩潰。實際上分配記憶體的只是形參p的乙個副本,函式呼叫結束後p又沒有返回給str,strcpy的str實際上是沒有分配記憶體。如果想不通過返回值的方式給str分配記憶體,程式如下。inclu...

IT技術筆試題(待續)

1.n條直線最多可以把平面分成幾部分 n個平面最多可以把空間分成幾部分?1 平面中已有n 1條直線,那麼新加一條直線,與原 n 1 條直線最多有n 1個交點,這 n 1 個交點把新增直線劃分成n個部分,整個平面新增n個部分。所以,f n f n 1 n f 0 1,f 1 2 f n n n 1 2...

12個iOS技術面試題及答案總結

前言 隨著移動網際網路科技不斷的發展和創新,如今無論是公司還是開發者或設計師個人而言,面試都是一項耗時耗錢的專案,而面對ios開發者及設計師在面試時可能會遇到的問題進行了篩選與彙總。下面我們一起來一下看看吧。一 如何繪製uiview?繪製乙個uiview最靈活的方法就是由它自己完成繪製。實際上你不是...