国产激情久久久久影院小草_国产91高跟丝袜_99精品视频99_三级真人片在线观看

阿里巴巴筆試中的 兩道編程題

時間:2024-09-19 23:38:40 綜合指導 我要投稿
  • 相關(guān)推薦

阿里巴巴筆試中的 兩道編程題

  兩道編程題:

阿里巴巴筆試中的 兩道編程題

  1請用最少的額外空間將一個M*N的矩陣旋轉(zhuǎn)90度,寫出算法描述和類c語言程序;

  2完成如下函數(shù),給定分子和分母,輸出其小數(shù)表示形式,循環(huán)節(jié)用[]表示,例如給出分子:13,分母19,輸出為:0.[13]

  參考解答:

  只需要一個空間即可(下標變量i),考慮的是順時針旋轉(zhuǎn)

  #include "iostream.h"

  const int M=5;

  const int N=3;

  void main()

  {

  int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

  int c[N][M]={0};

  int i;//只需一個空間i。

  for(i=0;i

  c[i%N][M-1-i/N]=a[i/N][i%N];//就這句話

  for(i=0;i

  {

  if(i%N == 0)

  cout<

  cout<

  }

  cout<

  for(i=0;i

  {

  if(i%M == 0)

  cout<

  cout<

  }

  cout<

  }

  最省空間的矩陣轉(zhuǎn)置

  #include "stdafx.h"

  #include

  using namespace std;   int main()

  {

  const int M = 5;

  const int N = 3;

  int a[M][N] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

  int* p = a[0];

  //轉(zhuǎn)90度后的矩陣設(shè)為b[N][M],則 b[j] = *(p + i + j*N)

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

  {

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

  {

  cout<< *(p + i + j*N) <<",";

  }

  cout<

  }

  system("pause");

  return 0;

  }

  這是一個Matrix Transposition In place(M!=N) 問題。1972年 MIT的一個教授給出了到目前為止的最佳解法。不過好像沒有樓上這些人說的那么簡單,其中還包含了一個定理。大家可以去搜論文,嘿嘿.

  Key word:Matrix Transposition In place

  transposition, matrix operations, permutation,primitive roots, number theory


【阿里巴巴筆試中的 兩道編程題】相關(guān)文章:

阿里巴巴筆試題201502-19

阿里巴巴校招筆試題11-29

阿里巴巴校招筆試題目11-29

阿里巴巴南京數(shù)據(jù)分析筆試題11-21

阿里巴巴校招筆試題,試題分享02-25

2015阿里巴巴運營專員崗位筆試題11-13

平安筆試群毆題11-19

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

求問kp經(jīng)典verbal里的兩道筆試題,求賜教!11-21