一道2005金山筆試題

2021-04-22 13:03:24 字數 413 閱讀 8739

問題描述:

/*2023年11月金山筆試題。編碼完成下面的處理函式。函式將字串中的字元'*'移到串的前部分,

前面的非'*'字元後移,但不能改變非'*'字元的先後順序,函式返回串中字元'*'的數量。

如原始串為:ab**cd**e*12,處理後為*****abcde12,函式並返回值為5。(要求使用盡量少的時間和輔助空間)

*/#include

using

namespace std;

int  charbackward(char p, int c_length)

else

if(p[i]=='*' && length!=0)

else length++;

i++;

}return length;

}int main()

金山的一道有關執行緒的筆試題

在北京時參加金山校招的一道筆試題 四個執行緒,a b c d 共享乙個變數 i,ab 為加執行緒,cd 為減執行緒,四個執行緒依次執行,順序為 abcd,輸出為 0 1 2 1 0 1 2 1 0 當時覺得這道題還可以,不一會兒就寫出來了,我的思路是 四個執行緒,ab為乙個鎖,cd為乙個鎖,兩個鎖交...

一道關於下標排序的金山筆試題

有這樣一道筆試題它是這樣描述的 對乙個陣列按照給定下標排序,僅使用兩兩交換的方式,要求盡可能少的額外空間。栗子 原陣列 a b c d e,假若它的排序下標為 3 0 1 4 2,那仫排序後為 d a b e c。剛開始看到這道題,我想了一種最簡單的實現方式就是重新開闢和陣列parr一樣大的空間,通...

一道筆試題

看到一道筆試題,跟自己想的有點出入,就跑了下,看了看原因。我稍微改了下 include int main int argc,char argv 輸出結果 c 5 d 245 press any key to continue vc6.0 debug下的彙編 5 unsigned char a 0xa...