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

自己做章网站做网站建设公司

自己做章网站,做网站建设公司,抚州购物网站开发设计,在线图片制作生成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]

思路:(题目已经提示你,轮转数组!!!)

1.先反转整个数组

2.再反转数组的 1~K 项

3.再反转 K~numsSize 项

4.得到结果

void reverse(int* p, int left, int right)      //为了第三次旋转,需要自己传左右位置

{

    //对两端进行操作的时候,一般定义left 和 right 作为下标

    while(left < right)       //     < 不是 <=

    {

        int tmp = p[left];    //解引用可以对实参内容进行修改

        p[left++] = p[right];

        p[right--] = tmp;

    }

}

void rotate(int* nums, int numsSize, int k) {             //void 不需要返回

k %= numsSize;     // K 的大小,可能会长于字符串长度( K %= numsSize,可以按照周期性的方式,减去字符串长度的整数倍,留下真正需要操作的旋转数)

reverse(nums, 0, numsSize - 1);

reverse(nums, 0, k - 1);

reverse(nums, k, numsSize - 1);

}

经验总结:1、此题借助K,将数组分为两个部分,学会对整体和部分进行拆分操作

2.    //对两端进行操作的时候,一般定义left 和 right 作为下标(比如旋转)

3.题目中的数组是nums,不是arr

http://www.dinnco.com/news/68519.html

相关文章:

  • 安康做企业网站的百度推广运营这个工作好做吗
  • 网站设计四项原则网络推广方法有哪几种
  • 网站建设团队互联网营销培训班
  • 青岛网站seo诊断成都网站seo推广
  • 东莞做网站一年费用百度网站提交入口
  • 苏州seo报价长沙竞价优化
  • 做挂件的网站在哪里查关键词排名
  • 温州本地网站平台种子资源
  • 直接找高校研究生做网站行吗百度云网盘搜索引擎入口
  • 如何做网站二级域名网络广告的发布方式包括
  • 温州专业做网站百度搜索seo
  • 连锁网站开发上海自动seo
  • 彩票网站代理怎么做互联网营销师培训多少钱
  • 建设一个功能简单的网站黑帽seo教程
  • wordpress火车头采集发布失败亚马逊排名seo
  • 培训网站欣赏济南seo网站优化公司
  • 番禺做网站百度网盘破解版
  • 石家庄做网站哪家公司好seo优化报价公司
  • 支付网站建设费进什么科目百度知道合伙人答题兼职
  • 潍坊网站关键词推广宁波seo软件免费课程
  • 网络规划设计师吧windows优化大师的作用
  • 低价网站建设网上怎么注册公司免费的
  • 电商网站如何设计内容营销策划与运营团队
  • 南通做网站厉害的免费域名解析平台
  • 六安网站制作哪里有小程序开发公司十大排名
  • 支付集成文件放在网站哪里自助建站免费搭建个人网站
  • 佛山从事网站建设网络营销课程培训机构
  • 空白的网站怎么建设百度网址提交入口平台
  • 网站设计主要内容中国十大seo公司
  • wordpress 自动替换廊坊seo网络推广