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

东莞网站关键词优化怎么做做 网站 要专线吗

东莞网站关键词优化怎么做,做 网站 要专线吗,福建seo优化,单页网站编辑器文章目录 题目暴力求解空间换时间三段逆置总结 题目 LeetCode 189.轮转数组 给定一个整数数组 nums#xff0c;将数组中的元素向右轮转 k 个位置#xff0c;其中 k 是非负数。 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5… 文章目录 题目暴力求解空间换时间三段逆置总结 题目 LeetCode 189.轮转数组 给定一个整数数组 nums将数组中的元素向右轮转 k 个位置其中 k 是非负数。 输入: 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] 轮转数组是一种将数组中元素向右移动 k 个位置的操作。具体地我们将数组的最后 k 个元素移动到数组的开头而数组的前 n-k 个元素向后移动 k 个位置。 说简单点就是把后面的元素依次转移到前面。 暴力求解 算法思路 定义一个临时变量 tmp用来存放数组最后的元素7把数组前 n-1 个值往后挪把 tmp 的值放入前面空位置中去 这样就完成了 1 次轮转如果要轮转 k 次就需要循环 k 次就完成了 第一步 第二步 第三步 代码实现 void rotate(int* nums, int numsSize, int k) {k % numsSize;//防止k大于numsSizeint tmp 0;for (int i 0; i k; i){tmp nums[numsSize - 1];for (int j numsSize - 1; j 0; j--){nums[j] nums[j - 1];}nums[0] tmp;} } 时间复杂度O(N^2) 最坏情况 空间复杂度O(1) 空间换时间 算法思路 新开辟一个数组把后 k 个元素放到新数组的前面 3 .再把前 n-k 个元素放到新数组的后面n是数组中元素总个数 也就是题目中的参数 numsSize 代码实现 void rotate(int* nums, int numsSize, int k) {if (k numsSize){k % numsSize;}int* tmp (int*)malloc(sizeof(int) * numsSize);memcpy(tmp, nums numsSize - k, sizeof(int) * k);memcpy(tmp k, nums, sizeof(int) * (numsSize - k));memcpy(nums, tmp, sizeof(int) * (numsSize));free(tmp);tmp NULL; }时间复杂度O(N) 空间复杂度O(N) 三段逆置 算法思路 对前 n-k 个逆置对后 k 个逆置整体逆置 封装一个reverse逆置函数进行操作。reverse 函数用于反转数组中指定范围的元素这里使用了双指针来实现。 代码实现 void reverse(int* arr, int left, int right) {while (left right){int tmp arr[left];arr[left] arr[right];arr[right] tmp;left;right--;} }void rotate(int* nums, int numsSize, int k) {if(knumsSize){k%numsSize;}reverse(nums, 0, numsSize-k-1);//第一段逆置reverse(nums, numsSize-k, numsSize-1);//第二段逆置reverse(nums, 0, numsSize-1);//第三段逆置 } 时间复杂度O(N) 空间复杂度O(1) 总结 最优算法三段逆置空间换时间暴力求解 评判哪个方法为最优解一般是关注该方法运行时的时间复杂度。时间复杂度低算法计算时间越快则为做优算法。 对于空间换时间的方法虽然运行消耗内存增加但一般不太会关注消耗内存的多少现在随着技术发展的越来越快对于内存的成本控制的也越开越低。所以用空间换时间还是划算的。
http://www.hkea.cn/news/14549369/

相关文章:

  • 团购网站怎么运营小程序开发兼职的小知识点
  • 做网站必须要数据库么食品网站的建设背景
  • 网站极简设计网站开发费入什么科目
  • 网站建设服务器企联网登录
  • 江门营销网站建设如何设计网站
  • 网站页面建设规划文案东乌珠穆沁旗网站建设
  • 做网站的实践报告微网站模板制作教程
  • 如题,HTML如何将两张图片_一张放在网站顶部做背景,另一张放在尾部做背景?网站建设的费用结构包括
  • 网站怎么做移动的窗口wordpress自定义附近上传路径
  • 外贸 网站推广宁波做网站seo的
  • 做衣服上哪些网站网站后台怎么添加代码
  • 做章的网站网站上的高清动态图怎么做的
  • 网上商城建站服务商猪八戒包装设计
  • 手机网站智能管理系统马尔康网站建设
  • 又拍网站怎么做的郑州网站托管助企
  • 河南做网站公司网页编辑软件免费版
  • 成都网站关键词推广wordpress后台生成密码不管用
  • 网站建设 荆州微信公众号制作模板免费
  • 网站建设调查表淮南服装网站建设地址
  • 各家建站平台做图片能去哪些网站吗
  • wordpress建站 客户端网站制作超链接怎么做
  • 源代码开发网站wordpress网页宽度
  • seo01网站在网站写小说怎么做封面
  • 英文集团网站设计建设qq注册账号免费申请
  • 求个网站这么难吗2021年可以做书的网站
  • 有云服务器怎么做网站专门做美食的网站6
  • 免费网站制作作业营销手机网站版面
  • 无锡网站设计企业做网站公司怎么做
  • 襄阳网站排名优化wordpress自定义类型模板
  • 网站备案好麻烦浙江网站建设哪里有