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

党员网站管理系统seo费用

党员网站管理系统,seo费用,河南网站推广,深圳网页设计学校这道题我也没想到特别好的解法,直接用最笨的解法AC了,首先k可能会远超数组nums的大小,这就意味着可能会出现多次无效轮转,因此我们先对次数k进行剪枝,k k % nums.size()来减少不必要的轮转次数,然后我们定…


这道题我也没想到特别好的解法,直接用最笨的解法AC了,首先k可能会远超数组nums的大小,这就意味着可能会出现多次无效轮转,因此我们先对次数k进行剪枝,k = k % nums.size()来减少不必要的轮转次数,然后我们定义一个数组v用于存储从数组后端轮转到前端的元素,例如nums=[1, 2, 3, 4, 5, 6, 7], k = 3,那么元素5, 6, 7就会被轮转到数组的前端,则v就需要将5, 6, 7存储进来,其余元素经过轮转后只是向后挪动了几个位置,这个很好处理。我们利用for循环从后往前遍历,将当前位置的前面k个位置上的元素移动过来即可,当下标<k时,就将v中对应位置的元素复制过来即可。

class Solution {
public:void rotate(vector<int>& nums, int k) {k = k % nums.size();  //剪枝避免多余的轮转vector<int> v;for(int i = nums.size() - k; i < nums.size(); ++i)v.emplace_back(nums[i]);for(int i = nums.size() - 1; i >= 0; --i){if(i >= k) nums[i] = nums[i - k];else nums[i] = v[i];}}
};

看了下灵神的题解,感觉他的思路比较有泛化性,三次反转的思路可以应用在轮转的问题上,主要是看下三次反转为什么可以实现轮转的效果,这里直接看灵神的证明就好了,我觉得还蛮通俗易懂的。

灵神也提到了剪枝的问题,为了避免无效的轮转,我们需要先对k取模再进行反转。

class Solution {
public:void rotate(vector<int>& nums, int k) {k = k % nums.size();  //剪枝避免多余的轮转reverse(nums.begin(), nums.end());  //反转数组中的所有元素reverse(nums.begin(), nums.begin() + k);  //反转前k个元素reverse(nums.begin() + k, nums.end());   //反转后n - k个元素}
};
http://www.dtcms.com/wzjs/293215.html

相关文章:

  • 界首做网站网站seo啥意思
  • 北京市规划建设委员会网站百度推广网址是多少
  • 电子商务发展现状百度seo排名优化助手
  • 百度盘古做网站国外免费域名
  • wordpress资讯站模板网络推广方案的基本思路
  • 网络 网站今天最新军事新闻视频
  • 乐清建设网站广告软文是什么意思
  • 怎么看一个网站做没做竞价广州品牌营销策划公司排名
  • 空间站免费版下载互联网推广销售
  • 快速做课件的网站2022年seo最新优化策略
  • 制作小程序代码晨阳seo
  • 短视频运营公司网站建设无锡哪里有做网站的
  • WordPress减少数据库占有正规网络公司关键词排名优化
  • 化工销售怎么做网站网站策划方案书
  • 知名网站的org域名网站网络营销公司
  • app脚本制作教程优化软件有哪些
  • 怎样自己做电影网站产品网络推广方式
  • 嘉兴平湖网站建设深圳google推广
  • 完善网站建设通知简述网站建设流程
  • 网站建设的策划书今晚赛事比分预测
  • 在线生成多款表白网站是怎么做的seo运营是什么
  • 网站页尾的作用企业培训公司
  • frontpage做的社交网站做网站公司哪家比较好
  • 上海恒鑫网站建设一个网站可以优化多少关键词
  • logo免费自动生成器app杭州排名优化软件
  • 备案网站制作百度一下你就知道官网网页
  • 网站用花生壳nas做存储网络优化大师手机版
  • 供应邯郸做网站上海牛巨微seo
  • 单页网站域名seo词条
  • 中国河北建设银行官网招聘网站软文范例大全