阿里巴巴一道矩形旋转90度的笔试题目
最近网上看了阿里巴巴的笔试题目 有一个是:
1请用最少的额外空间将一个M*N的矩阵旋转90度,写出算法描述和类c语言程序;
最开始不小心看还理解为转置去了 后来仔细思考 要在这个原来的`矩阵上面操作(节约额外空间),旋转90度其实挺麻烦的。经过思考 贴代码:
#include "stdafx.h"
#include
#include
#include
#include
using namespace std;
/*
1请用最少的额外空间将一个M*N的矩阵旋转90度,写出算法描述和类c语言程序;
2完成如下函数,给定分子和分母,输出其小数表示形式,循环节用[]表示,例如给出分子
:13,分母19,输出为:0.[13]
*/
#define M 8
#define N 8
int randgener()
{
return (rand() % 100);
}
#define NEWINDEX(i) (i%N)*M + M-1-(i/N)
void testPoj1()
{
int a[M*N];
generate(a,a+M*N,randgener );
for (int i = 0 ; i < M;i++)
{
for (int j = 0 ; j < N;j++)
{
cout<
【阿里巴巴一道矩形旋转90度的笔试题目】相关文章:
2017阿里巴巴实习生笔试题07-22
财务的面试笔试题目07-12
2017阿里巴巴前端实习生在线笔试总结07-22
电厂面试笔试题目07-12
中专面试笔试题目07-12
公司面试笔试题目03-22
护士面试笔试题目03-23
企业面试笔试题目08-31
华为面试代码笔试题目08-22
招商银行面试+笔试的题目06-26