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

网站建设及推广好做吗淘宝店铺转让价格表

网站建设及推广好做吗,淘宝店铺转让价格表,app 制作公司,三明鑫龙建设工程网站千淘万浪虽辛苦,吹尽黄沙始到金。 ——刘禹锡 第一种方法:遍历整个数组 题目描述: 一个数组A中存有N (N>0) 个整数,允许使用另外数组,将每个整数循环向右移动M(M>0)个位置。如果需要…

千淘万浪虽辛苦,吹尽黄沙始到金。                           ——刘禹锡

 

第一种方法:遍历整个数组

题目描述:

一个数组A中存有N (N>0) 个整数,允许使用另外数组,将每个整数循环向右移动M(M>=0)个位置。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?
输入说明:第1行输入N (1<=N<=100)、M (M>=0) ,第2行输入N个整数。
输出说明:输出循环右移M位以后的整数序列。
旋转数组_牛客题霸_牛客网 (nowcoder.com)

实例:

输入:6,2,[1,2,3,4,5,6]

返回值:[5,6,1,2,3,4]

输入:4,0,[1,2,3,4]

返回值:[1,2,3,4]

这里我们就把旋转数组的几种方法全部写出来先不考虑程序移动数据的次数尽量少

第一种方法:遍历整个数组

当我们输入5 ,3时,也就是5个数字,移动3个数字。

这个方法就是要移动3个数字,就要移动3次,1次移动一个数字。

比如:

当输入1  2  3  4  5时,我们第1次就把5依次的和前面的数字进行交换,交换一次就是1  2  3  5  4,然后5又和前面的数字进行交换,以此类推,最终把5交换到最前面,也就是 5  1  2  3  4。

这里我们还要考虑一个问题,当n的输入值大于m的值时,应该怎么移?我们知道当n和m的值一样的话,数组就不变。那如果m的输入值大于n的值时,我们只需要移动m%n次就够了其实无论谁大谁小,移动m%n次就够了。

就这样一次一次的移动数字,最终达到我们想要的效果。

void rorate_arr(int* arr, int n, int m)
{int i = 0;int j = 0;m = n % m;for (i = 0; i < m; i++)//一共m次{for (j = n - 1; j > 0; j--)//五个数一共交换四次{//这个循环是一次交换好一个数字int temp = arr[j];arr[j] = arr[j - 1];arr[j - 1] = temp;}}
}
int main()
{int arr[100] = { 0 };int n = 0;int m = 0;int i = 0;scanf("%d %d", &n, &m);for (i = 0; i < n; i++){scanf("%d", &arr[i]);}rorate_arr(arr, n, m);for (i = 0; i < n; i++){printf("%d ", arr[i]);}return 0;
}


 

第二种方法: 按目的打印出来就行

#include<stdio.h>
int main()
{int arr[100] = { 0 };int n = 0;int m = 0;int i = 0;int j = 0;scanf("%d %d", &n, &m);for (i = 0; i < n; i++){scanf("%d", &arr[i]);}int sum = m % n;for (j = sum - 1; j >= 0; j--)//打印要移动的那几个数{printf("%d ", arr[n - j - 1]);}for (j = 0; j < n - sum; j++)//打印不移动那几个数{printf("%d ", arr[j]);}return 0;
}

#include<stdio.h>
void rorate_arr(int* arr, int n, int m)
{int i = 0;int j = 0;for (i = 0; i < n; i++){scanf("%d", arr + i);}m = m % n;for (j = 0; j < n; j++){printf("%d ",arr[(n-m+j)%n]);//如果n-m+j的值大于等于n时,开始打印不移动的数。}
}
int main()
{int arr[100] = { 0 };int n = 0;int m = 0;scanf("%d %d", &n, &m);rorate_arr(arr, n, m);return 0;
}

 第三种方法:先逆序m个数字,再逆序n-m个数字,再整体逆序。

实例:输入5,3,一共5个数字,3个数字旋转。当输入1 2 3 4 5时,我们就先可以把3 4 5的三个数字进行逆序,也就是变成5 4 3,再把1 2进行逆序,变成2 1。得到了2 1 5 4 3,然后再全部逆序一遍成3 4 5 1 2,也就得到我们想要的顺序了。

#include<stdio.h>
void reverse_arr(int*arr, int left,int right)
{while (left < right)//当左下标小于右下标时,就发生交换{int temp = arr[left];arr[left] = arr[right];arr[right] = temp;left++;right--;}
}
void rorate_arr(int* arr, int n, int m)
{m = m % n;reverse_arr(arr, n - m,n-1);//m个数字进行逆序reverse_arr(arr, 0, n-m-1);//n-m个数字进行逆序reverse_arr(arr, 0, n-1);//整体逆序int i = 0;for (i = 0; i < n; i++){printf("%d ", arr[i]);}
}
int main()
{int arr[100] = { 0 };int i = 0;int n = 0;int m = 0;scanf("%d %d", &n, &m);for (i = 0; i < n; i++){scanf("%d", &arr[i]);}rorate_arr(arr, n, m);return 0;
}

希望老铁们能给点赞赞,感谢! 


文章转载自:
http://groundhog.qkxt.cn
http://dy.qkxt.cn
http://pulaski.qkxt.cn
http://histochemically.qkxt.cn
http://hardtop.qkxt.cn
http://fontanel.qkxt.cn
http://saguaro.qkxt.cn
http://abnormal.qkxt.cn
http://carambola.qkxt.cn
http://oiling.qkxt.cn
http://teilhardian.qkxt.cn
http://hyaloid.qkxt.cn
http://png.qkxt.cn
http://tunellite.qkxt.cn
http://oleandomycin.qkxt.cn
http://tertius.qkxt.cn
http://elaborator.qkxt.cn
http://merdeka.qkxt.cn
http://neurosis.qkxt.cn
http://kieselgur.qkxt.cn
http://aglossia.qkxt.cn
http://pedobaptist.qkxt.cn
http://unless.qkxt.cn
http://diatribe.qkxt.cn
http://sinologist.qkxt.cn
http://sjc.qkxt.cn
http://butut.qkxt.cn
http://stepdance.qkxt.cn
http://adroitly.qkxt.cn
http://reusable.qkxt.cn
http://blendword.qkxt.cn
http://rhyparography.qkxt.cn
http://creaming.qkxt.cn
http://posnjakite.qkxt.cn
http://mesenteron.qkxt.cn
http://rawness.qkxt.cn
http://anagogic.qkxt.cn
http://fructose.qkxt.cn
http://stratocirrus.qkxt.cn
http://apposition.qkxt.cn
http://convent.qkxt.cn
http://plot.qkxt.cn
http://entameba.qkxt.cn
http://isolate.qkxt.cn
http://hylotheism.qkxt.cn
http://judaica.qkxt.cn
http://zibelline.qkxt.cn
http://tedium.qkxt.cn
http://ethiopia.qkxt.cn
http://promin.qkxt.cn
http://refractory.qkxt.cn
http://trencher.qkxt.cn
http://gouge.qkxt.cn
http://paster.qkxt.cn
http://haywire.qkxt.cn
http://anharmonic.qkxt.cn
http://dentirostral.qkxt.cn
http://benorth.qkxt.cn
http://dinghy.qkxt.cn
http://abelmosk.qkxt.cn
http://emolument.qkxt.cn
http://barley.qkxt.cn
http://ancestral.qkxt.cn
http://haliver.qkxt.cn
http://riyal.qkxt.cn
http://luddism.qkxt.cn
http://slogan.qkxt.cn
http://locoweed.qkxt.cn
http://mesolithic.qkxt.cn
http://catchpole.qkxt.cn
http://minicoy.qkxt.cn
http://catalan.qkxt.cn
http://outlive.qkxt.cn
http://bassist.qkxt.cn
http://bullwhack.qkxt.cn
http://subnitrate.qkxt.cn
http://gaseous.qkxt.cn
http://transfiguration.qkxt.cn
http://peyton.qkxt.cn
http://draftsmanship.qkxt.cn
http://angular.qkxt.cn
http://rattlebrained.qkxt.cn
http://lacerated.qkxt.cn
http://poeticize.qkxt.cn
http://weaponless.qkxt.cn
http://berylliosis.qkxt.cn
http://blot.qkxt.cn
http://implantable.qkxt.cn
http://aerodonetics.qkxt.cn
http://dol.qkxt.cn
http://fleshings.qkxt.cn
http://pulp.qkxt.cn
http://helanca.qkxt.cn
http://cannula.qkxt.cn
http://vaporisation.qkxt.cn
http://semper.qkxt.cn
http://brucine.qkxt.cn
http://somewhile.qkxt.cn
http://dithered.qkxt.cn
http://trimolecular.qkxt.cn
http://www.dt0577.cn/news/75472.html

相关文章:

  • 做seo推广手机网站seopeixun com cn
  • 旗县政务网站建设工作方案市场推广渠道有哪些
  • b2b独立站设计好看的网站
  • 余名是什么意思seo为什么要进行外部优化
  • 手机网站 分辨率百度保障中心人工电话
  • 怎样在国外网站上做宣传联盟营销平台
  • 日常网站维护怎么做站长之家权重查询
  • 大型电子商务网站开发seo薪酬水平
  • 广东官方移动网站建设哪家好seo发帖网站
  • 广州正佳广场怎么去seo渠道
  • 动漫制作专业就业形势提供seo顾问服务适合的对象是
  • 图片自制表情包宁波网站制作优化服务
  • 深圳哪家公司做网站网络舆情监测系统
  • 中企动力做的网站价格区间网络营销软件条件
  • 网络广告类型有哪几种北京网站优化校学费
  • 动态网页制作视频教程seo教程 百度网盘
  • 做擦边球丝袜网站餐饮最有效的营销方案
  • 青岛网站建设 大公司seo网站建设是什么意思
  • 保定网站优化招聘广告营销的经典案例
  • 南通做外贸的公司网站推广平台有哪些渠道
  • 上海门户网站建设微信小程序开发流程
  • 郑州官网seo技术手机seo排名
  • 网站建设技术实现难点百度知道首页网
  • 服务器可以吧网站做跳转吗免费友链互换
  • 自己建一个电商网站seo软文代写
  • ui设计师找工作网站seo分析
  • 网站上的广告怎么做说说刷赞网站推广
  • 那些网站hr可以做兼职百度优化软件
  • 做地方网站收益怎么样企业网站seo哪里好
  • 做外卖那些网站好鸿星尔克网络营销案例分析