1 昨天參加一公司筆試,給幾道演算法題整懵了,其實也不難,但好久沒有碰演算法,只是有思路,要讓我在這麼短的時間內寫出程式來還是不行。
2 這裡將其中一道稍微複雜一點的演算法題寫下來,以此小結。
3 4 題目描述:
5 將n個雞蛋放入到m個籃子中去(n>m),保證每個籃子中至少乙個雞蛋,然後指定乙個數x, 要求從籃子中找出任意個籃子,這些籃子中雞蛋的總和加起來要等於x。請找出所有這樣的情況。
6 7 思路:
8 由於n個雞蛋放入m個籃子中有很多種放法,所以這裡存在多種組合的情況。解決這個是第一步。
9 對於已經放好的籃子,又有很多種情況可以等於x。這是第二步。
10 11 第一步:
12 #define m
5//basket number
13 #define n
20//eggs number
14 #define x
8//number to be specified
15integgs[m]; //egg baskets
16 17
//check whether this satisfies the condition
18intcheck()
19 28
if(n == sum)
29
32return0;
33 }
34 35
intput_egg(intremain_eggs,intindex)
36 44 cout << endl;
45 }
46if(remain_eggs <=0 || index >= m)
47
50 51
for(i = n; i >=1; i--)
52
60 }
61return0;
62 }
63 64
intmy_put_egg()
65 72 put_egg(remain, 0); //put the remain eggs into baskets.
73return0;
74 }
75 76 第二部分:
77 找出和等於x的組合:
78integg_stack[1024];
79intbasket_stack[1024];
80inttop =0;
81intsolve_sum(intarray,intsum,intbasket_num)
82 97
elseif(sum < tmp)
98
101
else
102
109 cout << endl;
110 }
111 }
112
113
intmain()
114
118
119
面試筆試題
1.文字檔案裡面有很多單詞 單詞與單詞之間以空格 換行符隔開,且不管單個單詞的正確性 統計各單詞出現的次數,刪掉出現次數最少的那些 實現 fstream讀入事先準備好的檔案test.txt,存到c 的關聯容器map,用單詞string做key,出現的次數int做value,找到最小的value,然後...
面試筆試題
智力 1.有abcd四人過橋,時間為1,2,5,10,只有乙個手電筒,同時只能過兩人,怎麼過17分鐘能過完?2 1 10 2 2 走的快的就多走走 2.假設有乙個池塘,裡面有無窮多的水,現有兩個空水壺,容積分別為5公升和6公升,如何只用這2個水壺從池塘裡取得3公升的水 1l 6 5 2l 6 5 1...
mysql面試筆試 MySQL面試筆試題集 BAT
01 mysql技術特點?02 mysql預設埠號?03 mysql優勢?04 mysql支援的儲存引擎以及特點?mysql5.7支援 innodb myisam merge memory archive csv performance schema blackhole innodb是目前mysql...