久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

創(chuàng)新工場筆試算法題附答案

時間:2024-10-17 21:33:04 面試筆試 我要投稿
  • 相關(guān)推薦

創(chuàng)新工場2014筆試算法題匯總附答案

   1. 編程實(shí)現(xiàn)堆排序

創(chuàng)新工場2014筆試算法題匯總附答案

  #include

  usingnamespace std;

  void SwapValue(int &m, int &n)

  {

  int temp = m;

  m = n;

  n = temp;

  }

  void max_heap(vector &vec, int i, int heap_size)

  {

  int l = 2*i;

  int r = 2*i+1;

  int largest = i;

  if(l<=heap_size && vec[l-1]>vec[largest-1])

  largest = l;

  if(r<=heap_size && vec[r-1]>vec[largest-1])

  largest = r;

  if(largest!=i)

  {

  SwapValue(vec[largest-1],vec[i-1]);

  max_heap(vec, largest, heap_size);

  }

  }

  void heapSort(vector &vec)

  {

  int heap_size = vec.size();

  for(int i=heap_size/2; i>=1; i–)

  max_heap(vec, i, heap_size);

  for(int i=heap_size; i>=1; i–)

  {

  SwapValue(vec[0],vec[i-1]);

  max_heap(vec, 1, i);

  }

  }

  void print(vector vec)

  {

  for(int i=0; i

  cout<

  cout<

  }

  int main()

  {

  vector vec;

  vec.push_back(23);

  vec.push_back(5);

  vec.push_back(1);

  vec.push_back(10);

  vec.push_back(13);

  vec.push_back(32);

  vec.push_back(21);

  vec.push_back(14);

  vec.push_back(19);

  vec.push_back(20);

  cout<<“排序前: “<

  print(vec);

  heapSort(vec);

  cout<<“排序后: “<

  print(vec);

  return 0;

  }

  2.求一個正整數(shù)N的開方,要求不能用庫函數(shù)sqrt(),結(jié)果的精度在0.001

  解析:牛頓迭代

  #include

  using namespace std;

  int main()

  {

  int N;

  cout<<“輸入N的值:“;

  cin>>N

  double x1 = 1;//初值

  double x2 = x1/2.0+N/2.0/x1;

  while( fabs(x2-x1)>0.001)

  {

  x1 = x2;

  x2 = x1/2.0+N/2.0/x1;

  }

  cout<

  return 0;

  }

  3.給定一個矩陣intmaxtrixA[m][n],每行和每列都是增序的,實(shí)現(xiàn)一個算法去找矩陣中的某個元素element.

  解法一:

  #include

  using namespace std;

  const int M = 4;

  const int N = 4;

  int main

  {

  int matrix[M][N] = {};

  double element;

  int flag = 1;

  for(int j=0; j

  {

  if(matrix[i][j] == element)

  cout<<“位置“<

  while( flag

  –flag;

  while( flagelement )

  ++flag;

  }

  }

  解法二:

  bool Find(int *matrixA, int m, int n, int element)

  {

  bool found = false;

  if(matrixA != NULL & m & n)

  {

  int i,j;

  i=0;j=n-1;

  while(i

  {

  if(maxtrixA[i*n+j] == element)

  {

  found = true;

  break;

  }

  else if(matrix[i*n+j]>element

  –j;

  else

  ++i

  }

  }

  }

【創(chuàng)新工場筆試算法題附答案】相關(guān)文章:

創(chuàng)新工場的幾道算法面試題11-16

校招創(chuàng)新工場,趨勢科技,金和軟件筆試11-21

迅雷2道算法類筆試真題11-21

安徽農(nóng)信社筆試真題及答案解析11-21

筆試面試成績怎么算法11-12

java筆試題及答案08-20

筆試OQ答案共享11-21

平安筆試群毆題11-19

聯(lián)想筆試真題09-26