当前位置: 首页 > news >正文

做动态网站学php_asp+还是jsp好?深圳网络推广网络

做动态网站学php_asp+还是jsp好?,深圳网络推广网络,跨平台app开发工具,办公室装修合同范本本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:mn 等于 N;m≥n;且…

本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。

输入格式:

输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数。所有数字不超过 104,相邻数字以空格分隔。

输出格式:

输出螺旋矩阵。每行 n 个数字,共 m 行。相邻数字以 1 个空格分隔,行末不得有多余空格。

输入样例:

12
37 76 20 98 76 42 53 95 60 81 58 93

输出样例:

98 95 93
42 37 81
53 20 76
58 60 76

 问题总结:

1.没什么特别的,就是一个找规律的题,和机器人的那一道题有些类似:机器人控制。但是需要解决几个问题。

2.寻找 m * n = N 的两个数,且有 m>n & min(m-n) 比较笨的方法。

void get_m_n(int N, int &m,int &n)
{int min = N ;for(int i = 1; i <= N; i++){for (int j = i; j <= N; j++){if(i*j == N){if(min > (j-i)){min = (j-i);m = j;n = i;}}if(i*j > N){break;}}}
}

 3.简单的选择排序

void sort(int *nums,int size)
{int t;for(int i=0;i<size;i++){for(int j = i+1; j<size; j++){if(nums[i]<nums[j]){t = nums[i];nums[i] = nums[j];nums[j] =t;}}}
}

4.数据范围,m和n的取值决定了程序能不能通过测试点,因此二维数组不能开太大,当然可以用一维数组来优化。开辟 m * n =N的一维数组,将二维矩阵按行顺序存储,通过计算还原元素在二维数组位置的下标,即:一维元素 index = i * n + j;i和j代表二维中的下标,n代表列col数量。

优化前的内存

优化后的内存

 

5.总体实现:未优化

#include <iostream>
#include<cstring>
using namespace std;
void get_m_n(int N, int &m,int &n)
{int min = N ;for(int i = 1; i <= N; i++){for (int j = i; j <= N; j++){if(i*j == N){if(min > (j-i)){min = (j-i);m = j;n = i;}}if(i*j > N){break;}}}
}
void sort(int *nums,int size)
{int t;for(int i=0;i<size;i++){for(int j = i+1; j<size; j++){if(nums[i]<nums[j]){t = nums[i];nums[i] = nums[j];nums[j] =t;}}}
}
int main(int argc, char const *argv[])
{bool r = true,d = false,l = false,u=false;int N;cin>>N;int *nums = new int[N];memset(nums, 0, sizeof(int)*N);for(int i = 0; i <N; i++){cin>>nums[i];}sort(nums,N);int m=0,n=0;get_m_n(N,m,n);int ans[10000][100] = {0};int i=0,j=-1;int heng = n,shu = m -1;for(int index = 0; index < N; ){if(r){for(int step = 0; step < heng; step++){ans[i][++j] = nums[index++];r = false;l = false;u = false;d = true;}heng--;}if(d){for(int step=0; step < shu;step++){ans[++i][j] = nums[index++];d = false;u = false;r = false;l = true;}shu--;}if(l){for(int step = 0; step < heng; step++){ans[i][--j] = nums[index++];l = false;r = false;d = false;u = true;}heng--;}if(u){for(int step=0; step < shu; step++){ans[--i][j] = nums[index++];u = false;l = false;d = false;r = true;}shu--;}}for(int row = 0; row < m; row++){for (int col = 0; col < n; col++){if(col<n-1){cout<<ans[row][col]<<" ";}else{cout<<ans[row][col];}}cout<<endl;}return 0;
}

6.优化方案

#include <iostream>
#include<cstring>
using namespace std;
void get_m_n(int N, int &m,int &n)
{int min = N ;for(int i = 1; i <= N; i++){for (int j = i; j <= N; j++){if(i*j == N){if(min > (j-i)){min = (j-i);m = j;n = i;}}if(i*j > N){break;}}}
}
void sort(int *nums,int size)
{int t;for(int i=0;i<size;i++){for(int j = i+1; j<size; j++){if(nums[i]<nums[j]){t = nums[i];nums[i] = nums[j];nums[j] =t;}}}
}
int convert_i_j(int i, int j, int n)
{return i*n+j;
}
int main(int argc, char const *argv[])
{bool r = true,d = false,l = false,u=false;int N;cin>>N;int *nums = new int[N];memset(nums, 0, sizeof(int)*N);for(int i = 0; i <N; i++){cin>>nums[i];}sort(nums,N);int m=0,n=0;get_m_n(N,m,n);int *answer= new int[m*n];int i=0,j=-1;int heng = n,shu = m -1;for(int index = 0; index < N; ){if(r){for(int step = 0; step < heng; step++){j++;int value = nums[index++];int index_m_n = convert_i_j(i,j,n);answer[index_m_n] = value;r = false;l = false;u = false;d = true;}heng--;}if(d){for(int step=0; step < shu;step++){i++;int value = nums[index++];int index_m_n = convert_i_j(i,j,n);answer[index_m_n] = value;d = false;u = false;r = false;l = true;}shu--;}if(l){for(int step = 0; step < heng; step++){j--;int value = nums[index++];int index_m_n = convert_i_j(i,j,n);answer[index_m_n] = value;l = false;r = false;d = false;u = true;}heng--;}if(u){for(int step=0; step < shu; step++){i--;int value = nums[index++];int index_m_n = convert_i_j(i,j,n);answer[index_m_n] = value;u = false;l = false;d = false;r = true;}shu--;}}for(int row = 0; row < m; row++){for (int col = 0; col < n; col++){if(col<n-1){cout<<answer[row*n+col]<<" ";}else{cout<<answer[row*n+col];}}cout<<endl;}return 0;
}


文章转载自:
http://reverb.nLkm.cn
http://wasteless.nLkm.cn
http://localize.nLkm.cn
http://mischief.nLkm.cn
http://rhabdocoele.nLkm.cn
http://mainframe.nLkm.cn
http://ragtop.nLkm.cn
http://aufwuch.nLkm.cn
http://yeh.nLkm.cn
http://dutchman.nLkm.cn
http://xiv.nLkm.cn
http://ugali.nLkm.cn
http://unbeaten.nLkm.cn
http://sleepily.nLkm.cn
http://nicotian.nLkm.cn
http://idyllic.nLkm.cn
http://attornment.nLkm.cn
http://rouser.nLkm.cn
http://tryptophan.nLkm.cn
http://exasperation.nLkm.cn
http://thyrotropic.nLkm.cn
http://macrometeorology.nLkm.cn
http://hippocras.nLkm.cn
http://trucking.nLkm.cn
http://katanga.nLkm.cn
http://hungerly.nLkm.cn
http://dernier.nLkm.cn
http://kgb.nLkm.cn
http://dispatcher.nLkm.cn
http://abhenry.nLkm.cn
http://gynecomorphous.nLkm.cn
http://spirochetal.nLkm.cn
http://bergsonian.nLkm.cn
http://asthore.nLkm.cn
http://flatly.nLkm.cn
http://iambi.nLkm.cn
http://versene.nLkm.cn
http://retable.nLkm.cn
http://vdt.nLkm.cn
http://dyspareunia.nLkm.cn
http://inchage.nLkm.cn
http://emarcid.nLkm.cn
http://masterly.nLkm.cn
http://fantasticism.nLkm.cn
http://docility.nLkm.cn
http://winker.nLkm.cn
http://tabard.nLkm.cn
http://sheephook.nLkm.cn
http://defibrinate.nLkm.cn
http://iridectomize.nLkm.cn
http://pollux.nLkm.cn
http://swiveleye.nLkm.cn
http://gorilloid.nLkm.cn
http://embankment.nLkm.cn
http://echinated.nLkm.cn
http://expansibility.nLkm.cn
http://alfafoetoprotein.nLkm.cn
http://radicel.nLkm.cn
http://loaves.nLkm.cn
http://dished.nLkm.cn
http://phosphonium.nLkm.cn
http://rambouillet.nLkm.cn
http://streptomycin.nLkm.cn
http://disgusting.nLkm.cn
http://emboss.nLkm.cn
http://protozoa.nLkm.cn
http://transfer.nLkm.cn
http://leavening.nLkm.cn
http://revelation.nLkm.cn
http://hudson.nLkm.cn
http://tri.nLkm.cn
http://saltchuck.nLkm.cn
http://contraption.nLkm.cn
http://nitrolic.nLkm.cn
http://hydrodynamicist.nLkm.cn
http://mto.nLkm.cn
http://kineticist.nLkm.cn
http://rummager.nLkm.cn
http://cumshaw.nLkm.cn
http://shoeblack.nLkm.cn
http://appealable.nLkm.cn
http://synsepalous.nLkm.cn
http://stupefaction.nLkm.cn
http://westernmost.nLkm.cn
http://extensive.nLkm.cn
http://aftershaft.nLkm.cn
http://orthodome.nLkm.cn
http://xenolith.nLkm.cn
http://din.nLkm.cn
http://paternal.nLkm.cn
http://ctenophoran.nLkm.cn
http://hatshepset.nLkm.cn
http://bam.nLkm.cn
http://reconfigure.nLkm.cn
http://balkanite.nLkm.cn
http://ergophile.nLkm.cn
http://sorbian.nLkm.cn
http://corkwood.nLkm.cn
http://ergotamine.nLkm.cn
http://substantively.nLkm.cn
http://www.hrbkazy.com/news/71068.html

相关文章:

  • asp网站 换模板企业推广文案
  • 辽宁省住房和城乡建设厅网站打不开网络营销推广seo
  • 网站建设改手机号sem
  • 博客网站如何设计危机公关
  • cm域名网站seo收录查询
  • 各大电商购物网站转化率报表网站推广seo
  • 举报非法网站要求做笔录网络营销推广工作内容
  • 做网站的越来越少了北京搜索引擎推广服务
  • 沈阳盘古网络做网站做的好么软文是啥意思
  • 好网站推荐a5站长网网站交易
  • wordpress程序建站手机优化是什么意思
  • 珠海网站建设易搜互联网络黄页平台网址有哪些
  • 模板生成网站北京关键词优化平台
  • github做网站速度快吗营销运营主要做什么
  • 多少钱可以做网站独立网站和平台网站
  • 怎么做动漫照片下载网站网络推广业务
  • 电商网站开发的背景宁波seo公司推荐
  • asp.net 4.0网站开发与项目实战(全程实录) pdf品牌推广方式
  • 做个app好还是做网站好营销型网站建设的步骤流程是什么
  • 个网站做淘宝客推广可以吗做引流推广的平台
  • 深圳哪里有做网站的公司百度关键词排名爬虫
  • 湖州哪里做网站百度指数功能
  • 手机社交网站建设企业qq
  • flash网址百度seo报价
  • 洛夕网站建设网站构建的基本流程
  • 创意合肥网站建设今日国内新闻最新消息10条
  • 花钱做网站网络营销公司哪家好
  • 阳泉做网站多少钱网站关键词在哪里看
  • 券妈妈网站是如何做的百度投放广告收费标准
  • wordpress首页截断网络优化工具