深信服實習生筆試題 20190315

2022-03-30 15:31:53 字數 2317 閱讀 9152

好久沒寫程式設計題了,手生的厲害,記錄一下。

首先做的第二題,比較簡單,ac。

題目要求:

比較簡單,用結構體記錄前後數字區間,按照start排序,當start相同時,按照end排序。然後迴圈合併即可。

測試用例:

438

3746

7953

8374

6791000

110040

13710

1189

view code

**:

#include #include 

using

namespace

std;

struct

st;bool

cmp(st aa, st bb)

intmain()

sort(arr,arr+n,cmp);

//for(int i=0;i//

//cout << endl;

st tem;

tem.a=arr[0

].a;

tem.b=arr[0

].b;

for(int i=0;i)

}else

}cout

<< tem.a << "

"<< tem.b <

}return0;

}

然後做的第一題,第一題比第二題簡單,不過需要注意格式空間等問題,因為選擇填空浪費了太多時間,沒有全過。

第二題是給定幾個字串,找出所有重複的字串的序號

輸入:第一行為n,字串個數

第二行為m,字串中數字的個數

第三行為字元。

可以把一行數字當做字串處理,然後判斷字串是否相等。

測試用例:魔改版本,方便測試進行了一些修改,m值對不上

11

0195

9461

4272

367718

202187

683321

8313

1023

78310

816158

500518

705553

4704

205190

306492

16649

791961

5665

2111009

61415

6836

195946

7678

198495

8205

190306

492166

49791

9619

8374

1023

453692

10195

946

view code

#include #include 

#include

#include

#include

using

namespace

std;

char arr[10000][10010

];int state[10010

];int

main()

for(int i=0;i)

cout

<< "

"if(a==1

) cout

<

a=0; }

}return0;

}

用這個方法要注意輸入格式,不要有多餘的空格。

記錄乙個愚蠢的版本,把state[i]==0放到了for迴圈中,導致當i標記為0時,執行到此便停止,應該是跳過標記為0的點,簡直愚蠢。

#include #include 

#include

#include

#include

using

namespace

std;

char arr[10000][10010

];int state[10010

];int

main()

for(int i=0;i0;i++)

cout

<< "

"if(a==1

) cout

<

a=0; }

}return0;

}

跟同學投的不是乙個公司,自己做的,應該是涼了

深信服筆試題

題很多,共8頁 1.sort int array,int n 排序,讓小於等於0的數放在左邊,大於0得數放在右邊,要求時間複雜度為o n 2.假設有1001個棋子,你和乙個人拿這些棋子,誰拿到最後乙個,算誰贏,每次只能拿1,2,4個棋子。你先出手,是否有把握必贏,如果沒有,說明為什麼。3.編寫ato...

深信服筆試題

做了一波深信服的筆試題 題目難度定義成一般吧,程式設計題前兩道還好,第一道考察的是格式化字串,第二道考察的是階乘。第三道。忘了 其餘都是選擇題,知識點也比較廣泛,考察的知識點我把我記住的例下來 1 行內元素 a,b,br,em,font,i,img,input,label,select,span.塊...

深信服筆試題

1.子串模糊匹配 var readline require readline rl readline.createinte ce var k 2 var inputs rl.on line function data function main a,b var pattern newregexp r...