問題描述:
/*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...