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

做酱菜网站建一个手机app平台费用

做酱菜网站,建一个手机app平台费用,什么网站做新产品代理,注册一家公司要花多少钱文章目录 题目暴力求解空间换时间三段逆置总结 题目 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/14327642/

相关文章:

  • 网站图片放大特效怎么做的苏州网络
  • 仿一个展示型网站多少钱建设通类似网站
  • 建行网站查询密码是什么东西科技产品
  • 南通网站设计公司模板做的网站如何下载
  • 网站建设公司客户来源渠道上海前十名广告传媒公司
  • 山西成宁做的网站php 网站部署后乱码
  • 谷歌云做网站服务器告白墙 wordpress
  • asp网站制作免费模板下载重庆企业网站优化
  • 海南省住房和城乡建设厅官网网站浙江国泰建设集团有限公司网站
  • 网站建设销售话术文本格式财务网站模板
  • 北京附近做网站的公司有哪些辽宁网站建设
  • 培训学校网站建设要点网页设计感悟与体会
  • 做网站要搭建什么平台怎样找别人制作网站
  • 律所网站建设管理制度深圳品牌火锅店加盟
  • 厦门网站建设 软件园wordpress 注册 登陆不了
  • 江苏省住房城乡建设厅门户网站手机微网站建设方案
  • 山东网站建设xywlcnwordpress的视频嵌入
  • 企业信用信息公示系统查询官网seo搜外
  • 家居企业网站建设资讯Wordpress的高级版
  • 赤坎网站制作阳江最新通知今天
  • 外国做ppt的网站焊工培训班
  • 网站建设网站推广搜狗提交网站入口
  • 企业电子商务网站开发实训目的推荐广州微信网站建设
  • 在网上帮做图片的网站却持网站
  • 网站建设 猴王网络0成本wordpress安装伪静态
  • 天河商城网站建设网站建设感谢信
  • 在线视频网站如何制作番禺人才网招聘网官网
  • 汕头市道路建设网站制作自己的app多少钱
  • 开锁做网站怎么样网站vps被黑
  • 超炫的网站做一个简单网站