目前本站已有 十几万 份求职资料啦!


IT公司笔试常考的算法题

12-17 15:54:36 来源:http://www.qz26.com 笔试题目   阅读:8182
导读:{'X','X','X','X','X','X','X','X'}};void FindPath(int X, int Y) {if(X == MAX_SIZE || Y == MAX_SIZE) {for(int i = 0; i < MAX_SIZE; i++)for(int j = 0; j < MAX_SIZE; j++)printf("%c%c", Maze[j], j < MAX_SIZE-1 ? ' ' : '\n');}else for(int k = 0; k < 4; k++)if(X >= 0 & Y >= 0 && Y < MAX_SIZE && X < MAX_SIZE && 'o' == Maze[X][Y]) {Maze[X][Y] =
IT公司笔试常考的算法题,标签:银行笔试题目,企业笔试题目,http://www.qz26.com

  {'X','X','X','X','X','X','X','X'}};

  void FindPath(int X, int Y) {

  if(X == MAX_SIZE || Y == MAX_SIZE) {

  for(int i = 0; i < MAX_SIZE; i++)

  for(int j = 0; j < MAX_SIZE; j++)

  printf("%c%c", Maze[j], j < MAX_SIZE-1 ? ' ' : '\n');

  }else for(int k = 0; k < 4; k++)

  if(X >= 0 & Y >= 0 && Y < MAX_SIZE && X < MAX_SIZE && 'o' == Maze[X][Y]) {

  Maze[X][Y] = ' ';

  FindPath(X+V[k], Y+H[k]);

  Maze[X][Y] ='o';

  }

  }

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

  FindPath(1,0);

  }

  7、随机分配座位,共50个学生,使学号相邻的同学座位不能相邻(早些时候用C#写的,没有用C改写)。

  static void Main(string[] args)

  {

  int Tmp = 0, Count = 50;

  int[] Seats = new int[Count];

  bool[] Students = new bool[Count];

  System.Random RandStudent=new System.Random();

  Students[Seats[0]=RandStudent.Next(0,Count)]=true;

  for(int i = 1; i < Count; ) {

  Tmp=(int)RandStudent.Next(0,Count);

  if((!Students[Tmp])&(Seats[i-1]-Tmp!=1) && (Seats[i-1] - Tmp) != -1) {

  Seats[i++] = Tmp;

  Students[Tmp] = true;

  }

  }

  foreach(int Student in Seats)

  System.Console.Write(Student + " ");

  System.Console.Read();

  }

  8、求网格中的黑点分布。现有6*7的网格,在某些格子中有黑点,已知各行与各列中有黑点的点数之和,请在这张网格中画出黑点的位置。(这是一网友提出的题目,说是他笔试时遇到算法题)

  #define ROWS 6

  #define COLS 7

  int iPointsR[ROWS] = {2, 0, 4, 3, 4, 0}; // 各行黑点数和的情况

  int iPointsC[COLS] = {4, 1, 2, 2, 1, 2, 1}; // 各列黑点数和的情况

  int iCount, iFound;

  int iSumR[ROWS], iSumC[COLS], Grid[ROWS][COLS];

  int Set(int iRowNo) {

  if(iRowNo == ROWS) {

  for(int iColNo=0; iColNo < COLS & iSumC[iColNo]==iPointsC[iColNo]; iColNo++)

  if(iColNo == COLS-1) {

  printf("\nNo.%d:\n", ++iCount);

  for(int i=0; i < ROWS; i++)

  for(int j=0; j < COLS; j++)

  printf("%d%c", Grid[j], (j+1) % COLS ? ' ' : '\n');

  iFound = 1; // iFound = 1,有解

  }

  } else {

  for(int iColNo=0; iColNo < COLS; iColNo++) {

  if(iPointsR[iRowNo] == 0) {

  Set(iRowNo + 1);

  } else if(Grid[iRowNo][iColNo]==0) {

  Grid[iRowNo][iColNo] = 1;

  iSumR[iRowNo]++; iSumC[iColNo]++; if(iSumR[iRowNo]

  Set(iRowNo);

  else if(iSumR[iRowNo]==iPointsR[iRowNo] & iRowNo < ROWS)

  Set(iRowNo + 1);

  Grid[iRowNo][iColNo] = 0;

  iSumR[iRowNo]--;

  iSumC[iColNo]--;

  }

  }

  }

  return iFound; // 用于判断是否有解

  }

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

  if(!Set(0))

  printf("Failure!");

  }

  9、有4种面值的邮票很多枚,这4种邮票面值分别1, 4, 12, 21,现从多张中最多任取5张进行组合,求取出这些邮票的最大连续组合值。(据说是华为20xx年校园招聘笔试题)

  #define N 5

上一页  [1] [2] [3] [4] [5] [6] [7] [8]  下一页


Tag:笔试题目银行笔试题目,企业笔试题目求职笔试面试 - 笔试题目
【字号: 】 【打印】 【关闭
最新更新
推荐热门
联系我们 | 网站地图 | 财务资料 | 范文大全 | 求职简历 | 财会考试 | 成功励志
Copyright 二六求职资料网 All Right Reserved.
1 2 3 4 5 6 7 8 9 10