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

网页标准化对网站开发维护的好处长春网络营销

网页标准化对网站开发维护的好处,长春网络营销,wordpress版型,做的网站放在阿里云189. 轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: …

189. 轮转数组

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。


示例 1:

输入: nums = [1,2,3,4,5,6,7], k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右轮转 1 步: [7,1,2,3,4,5,6]
向右轮转 2 步: [6,7,1,2,3,4,5]
向右轮转 3 步: [5,6,7,1,2,3,4]


示例 2:

输入: nums = [-1,-100,3,99], k = 2
输出: [3,99,-1,-100]
解释:
向右轮转 1 步: [99,-1,-100,3]
向右轮转 2 步: [3,99,-1,-100]


提示:
  • 1 <= nums.length <= 10⁵
  • -2³¹ <= nums[i] <= 2³¹ - 1
  • 0 <= k <= 10⁵

题解:
思路一
void rotate(int* nums, int numsSize, int k) 
{//空间换时间k = k % numsSize;int newArr[numsSize];//现将nums后面的K个数据按顺序放到newArr中去,再把剩下的数据按顺序插入到新数组中for(int i = 0; i < numsSize; i++){newArr[i] = nums[(numsSize - k + i)%numsSize];}//因为最后需要打印数组nums,所以需要赋值回去for(int i = 0; i < numsSize; i++){nums[i] = newArr[i];}
}

**结果:**不通过,时间复杂度过高,为 O ( N 2 ) O(N^2) O(N2)

思路二
void rotate(int* nums, int numsSize, int k) 
{//空间换时间k = k % numsSize;int newArr[numsSize];//现将nums后面的K个数据按顺序放到newArr中去,再把剩下的数据按顺序插入到新数组中for(int i = 0; i < numsSize; i++){newArr[i] = nums[(numsSize - k + i)%numsSize];}//因为最后需要打印数组nums,所以需要赋值回去for(int i = 0; i < numsSize; i++){nums[i] = newArr[i];}
}
void rotate(int* nums; int numsSize; int k)
{int newArr[numsSize];for(int i = 0; i < numsSize; i++){newArr[(i + k) % numsSize] = nums[i];//将后K个数组放到新数组前面,在把剩下的挪到新数组}for (int i = 0; i < numsSize; ++i) {nums[i] = newArr[i];//因为最后需要打印数组nums,所以需要赋值回去}
}

以上两组代码的代码逻辑基本一致,主要是在将数据移动到新数组时的具体实现思路不同。

//法一
k = k % numsSize;
newArr[i] = nums[(numsSize - k + i)%numsSize];//法二
newArr[(i + k) % numsSize] = nums[i];
思路三
/*
函数功能:实现一段数据的逆置
参数:nums:数组名begin:逆置数据的起始下标end:逆置数据的结束下标
返回值:无
*/
void reverse(int* nums,int begin,int end)
{while(begin<end){int tmp = nums[begin];nums[begin] = nums[end];nums[end] = tmp;begin++;end--;}
}void rotate(int* nums, int numsSize, int k)
{//防止逆置时发生数组越界k = k%numsSize;//前n-k个数据逆置reverse(nums,0,numsSize-k-1);//后k个数据逆置reverse(nums,numsSize-k,numsSize-1);//整体逆置reverse(nums,0,numsSize-1);
}

时间复杂度: O ( N ) O(N) O(N)

空间复杂度: O ( 1 ) O(1) O(1)

方法:

  • 前n - k个逆置:4 3 2 1 5 6 7
  • 后k个逆置:4 3 2 1 7 6 5
  • 整体逆置:5 6 7 1 2 3 4

文章转载自:

http://DMmu0Gc1.pgzgy.cn
http://GGnEiCEv.pgzgy.cn
http://1Ir43Ie0.pgzgy.cn
http://LdEPx5YA.pgzgy.cn
http://BSmCD6o8.pgzgy.cn
http://KYWklXg6.pgzgy.cn
http://jOsVJVKO.pgzgy.cn
http://svHFiMFn.pgzgy.cn
http://ZMm2nwby.pgzgy.cn
http://xAVAEQZX.pgzgy.cn
http://3NkgjBJ5.pgzgy.cn
http://dvjJPMUJ.pgzgy.cn
http://Eilf5p7v.pgzgy.cn
http://KSARO47r.pgzgy.cn
http://hbW18XUx.pgzgy.cn
http://SLX57dLJ.pgzgy.cn
http://sWP7nFjx.pgzgy.cn
http://r6CHNwWD.pgzgy.cn
http://UBIITwKM.pgzgy.cn
http://rSx9kVC5.pgzgy.cn
http://VSGk9DA4.pgzgy.cn
http://qyWbC1k8.pgzgy.cn
http://hxZqn5do.pgzgy.cn
http://HJt9HkFd.pgzgy.cn
http://aYFBLW3u.pgzgy.cn
http://GvA69Y97.pgzgy.cn
http://FMUcUDLu.pgzgy.cn
http://8CpH10BB.pgzgy.cn
http://7sEbdqPC.pgzgy.cn
http://GEhSBniO.pgzgy.cn
http://www.dtcms.com/wzjs/748772.html

相关文章:

  • 国家合同模板网站1 网站建设的目标是什么
  • 嘉定西安网站建设asp网站经常 响应
  • 专做火影黄图的网站北京开发公司
  • 网站icowordpress 淘宝客 百度
  • 网站开发人员职位大专计算机专业主要学什么
  • 佛山网站制作哪家给个网址你知道的
  • lol做任务领头像网站从零开始创建wordpress主题.pdf
  • 城市建设鹤岗市网站个人网站模板素材
  • 市住房和城乡建设局网站怎么申请一个域名
  • 佛山网站制作流程网站建设外包项目
  • 广州住房与建设 网站广州航海学院门户网站
  • 社保网站做员工用工备案吗凡科建站网站怎样做软件下载
  • 构建自己最出色的wordpress主题西安网络优化哪家好
  • 网站基本设置文化礼堂建设情况网站
  • 电子商务与网站建设论文深圳最近流感多吗
  • 建设网站优点购物便宜的网站有哪些
  • 大数据分析师网站描述标签优化
  • 网站优化成都哪里好多多电影免费播放
  • edm营销网站网络营销解决方案
  • 威海网站开发制作网站设计时间
  • 建设c2c网站需要多少投资宣传 网站建设方案模板下载
  • 北京acc网站建设职业教育专业建设验收网站
  • 大庆网站制作怎么制作一个平台
  • 黄骅港项目中标结果对网站进行seo优化
  • 英文外贸网站建设网站设计方案企业网站软件开发
  • 上海网站建设学校如何设计并制作各级网页
  • python做后台开发移动网站仿站工具下载后咋做网站
  • 如何推广网站链接重庆石柱网站设计公司
  • 设计网站推荐设计酷站网络安全厂家排名
  • 做推广赚钱的网站有哪些wordpress主题个性