日韩欧美另类久久久精品_亚洲大色堂人在线无码_国产三级aⅴ在线播放_在线无码aⅴ精品动漫_国产精品精品国产专区

北京中軟常見筆試題

  1.不許用中間變量,把String ABCDE 倒轉(zhuǎn)

  2.10000個數(shù)求第2大的數(shù),不許用排序算法.

  3.排序算法的測試用例

  我的答案:

  1.

  1. include "stdafx.h"

  1. include

  1. include

  using namespace std;

  int _tmain(int argc, _TCHAR* argv[])

  {

  char *ps = new char[15];

  strcpy_s(ps,15,"I am yuchifang");

  cout<<"before reverse:"<

  cout<

  int i = 0;

  int j = 13;

  while(i

  {

  ps[i] = ps[i]+ps[j];

  ps[j] = ps[i]-ps[j];

  ps[i] = ps[i]-ps[j];

  i++;

  j--;

  }

  cout<<"after reverse"<

  cout<

  return 0;

  }

  這是我在中軟國際面試的一些題目,看你會嗎?

  1、Java中的屬性和字段有什么區(qū)別? --這個是當(dāng)時考我的一道題,我不會啊!!!!!!!!!

  2、C/C++你更熟悉那個?C++中的虛函數(shù)用在什么地方?JAVA中的虛函數(shù)呢?(我沒記得Java中還有這個)

  3、你對數(shù)據(jù)庫中存儲過程了解多少?說說。

  4、假如微軟給你500萬美元項目經(jīng)費,你怎么利用它?

  5、你對考研是什么態(tài)度?

  6、你對加班是什么態(tài)度? 這個答案項目經(jīng)理說出來后我感覺太現(xiàn)實了,你猜他怎么說的?和IT人有關(guān)的

  7、Why do you …… ICS&S? (我忘具體怎么說的了,大意就是問你為何要來中軟國際?人家可是用全英語問的,說的挺快的,幸好我聽懂一點)

  問題太多了,大多是技術(shù)問題,不過都和知識要點有關(guān),不考太難的太復(fù)雜的,不過我還是大部分不會啊!!!英語會讓你就自己喜歡的方向作簡介呢。難,要我說就完了。

  先想出這多了,下次再寫,技術(shù)問題好多,有空把筆試題給大家看看,唉!

  、、、、、、、、、、、、、、、、、、、、、、

  題目為寫算法生成隨機(jī)4位數(shù),要求每位數(shù)字不同.

  Solution:

  有個隱含條件,即第一個數(shù)字不能為0.  以下是我初步的javascript解法:

  function rand4(){

  var arr = new Array();

  var index = 0;

  var tempNum;

  while(index<4){

  tempNum = Math.round(Math.random()*9);

  if(!(index==0 && tempNum==0)){

  //hold point

  if(arr[tempNum]== null){

  arr[tempNum] = tempNum;

  ++index;

  }

  }

  }

  var ret = 0;

  for(var i in arr){

  if (ret != 0){

  ret *= 10;

  }

  ret += parseInt(i);

  }   alert(ret);

  return ret;

  }

  我相信會編程的人都會寫出這個算法. 基本上是很普通的.這個算法有個不愉快的地方就是hold point那塊,成功率為100%(第一次),90%(第二次),80%(第三次),70%(第四次),越來越低,不過只要不低于50%,程序效率還不會打折扣.

  以下是我的第二種寫法,用空間換了點時間,用C++語言寫的:

  1. include

  1. include

  using namespace std;

  class Rand4{

  private:

  int a[10];

  int getNum(int index){

  while(a[index]==-1){

  ++index;

  index %= 10;

  }

  int ret = a[index];

  a[index] = -1;

  return ret;

  };

  void init(){

  for(int i=0;i<10;++i){

  a[i] = i;

  }

  };

  public:

  int Next(){

  init();

  int ret = (rand()%10) *1000;

  int index = 100;

  int time = 3;

  while(time>0){

  ret += getNum((rand()%10))*index;

  index /= 10;

  --time;

  }

  return ret;

  };

  };

  int main(int argc, char *argv[])

  {

  Rand4 r4;

  cout<

  cout<

  cout<

  system("PAUSE");

  return 0;

  }

  此法的時間復(fù)雜度為正宗的O(n),空間開銷(不包含調(diào)用庫函數(shù)的)就比前一個例子多了些.

  此法在n取m的隨機(jī)計算中,m從0一直到趨近于n, 效率都是不變的.

  其他的高效方法暫時還沒有想出.

本文已影響6827
上一篇:邁瑞機(jī)械類筆試真題 下一篇:

相關(guān)文章推薦

|||||