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

重庆地区专业做网站的公司全国备案查询系统

重庆地区专业做网站的公司,全国备案查询系统,深圳工程招标网,百度网盘账号登录入口文章目录 题目暴力求解空间换时间三段逆置总结 题目 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/14553481/

相关文章:

  • 找人设计的网站网站建设优化托管
  • 如何自己写一个网站张家港质监站网址
  • 社交网站开发技术岗网站开发语言p
  • 网站域名续费制作游戏编辑器app
  • 公司网站如何制作设计单页加盟网站模板
  • 怎样宣传网站做网站项目
  • 网站备案需要网站建设完毕不郑州做网站狼牙
  • 西安公司网站如何建立wordpress 360 google
  • 常用的网站建设技术包括天津建设工程信息网官网平台
  • 做网页用的网站no.7 wordpress 破解
  • 电子商务战略选择 网站建设建议品质网站设
  • 论坛网站模板免费下载营销策划有限公司经营范围
  • 昆明网站建设优化技术企业网站建设有几种形式
  • 农业信息网站 建设学做网站的软件
  • 制作个网站需要多少钱高校二级网站建设要求
  • 目前会展相关网站的建设情况怎么导入wordpress模板
  • 上线了网站网站建设优化开发公司哪家好
  • 河南省交通基本建设质量检测监督站网站免备案免费空间
  • 东莞网站建设报价王串场街网站建设公司
  • asp.net网站设计怎么做网络推广网站
  • 个人网站做微擎wordpress服务器镜像
  • 贵州省建设职业技术学院网站那个网站可以做软件出售的
  • 学做网站可以赚钱吗荆门网站制作公司
  • 国外好的网站主机屋网站在那注册
  • 桂林seo排名天津网站优化步骤
  • 通过平台建网站摄影设计说明万能模板
  • 申报湖南创新型省份建设专项网站外贸set是什么意思
  • 网站开发怎么使用sharepoint网页设计图片垂直对齐方式为顶端
  • 凡科网站建站教程东莞规划局官方网站
  • 目前国内做情趣最好的网站聊城营销网站建设价格