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

济南网站app开发网络营销的策划流程

济南网站app开发,网络营销的策划流程,响应式网站建站平台,淮南网云小镇房价题目 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 void rotate(int* nums, int numsSize, int 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] …

题目

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

void rotate(int* nums, int numsSize, int 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]

思路1

如示例所示般,一个一个地转。
先将数组最后一个元素储存到val,再将前numsSize-1个元素向后搬,最后把val的值赋给nums[0],就实现了最后一个元素放到数组开头。循环k次,就完成了轮转。

此方法效率较低,可能会超时。

void rotate(int* nums, int numsSize, int k) {//循环k次for (int i=0; i<k; i++){//数组最后一个元素储存到valint val = nums[numsSize-1];//前numsSize-1个元素向后搬for (int j=numsSize-1; j>0; j--){nums[j] = nums[j-1];}//把val的值赋给nums[0]nums[0] = val;}
}

思路2

三次逆置

示例:
输入: nums = [1,2,3,4,5,6,7], k = 3
4 3 2 1 5 6 7 前numsSize-k个逆置
4 3 2 1 7 6 5 后k个逆置
5 6 7 1 2 3 4 整体逆置

void rotate(int* nums, int numsSize, int k){//k要小于numsSizek %= numsSize;//前numsSize-k个逆置for (int i=0; i<(numsSize-k)/2; i++){int temp = nums[i];nums[i] = nums[numsSize-k-1-i];nums[numsSize-k-1-i] = temp;}//后k个逆置for (int i=0; i<k/2; i++){int temp = nums[numsSize-k+i];nums[numsSize-k+i] = nums[numsSize-1-i];nums[numsSize-1-i] = temp;}//整体逆置for (int i=0; i<numsSize/2; i++){int temp = nums[i];nums[i] = nums[numsSize-1-i];nums[numsSize-1-i] = temp;}
}

时间复杂度O(n);空间复杂度O(1)
注:

  1. 次数k如果等于0,逆置0次为没有逆置,数组不变,没有运算的必要。
  2. k要小于musSize,会有k大于等于numsSize的情况。例如:nums={-1},k=2。如果k=numsSize的话,逆置结果为原来的数组,不变,没有计算的必要。使用求余%操作使得k的取值范围为0~numsSize-1。
  3. for循环里,循环条件里需要 /2,如果时下标0~numsSize的元素逆置,当i=0时,nums[0]和nums[numsSize-1]交换;当i=numsSize-1时,nums[numsSize-1]和nums[0]交换,交换两次,结果不变。

代码改进

将交换部分封装函数reverse

void reverse(int* nums, int begin, int end)
{while (begin < end){int tmp = nums[begin];nums[begin] = nums[end];nums[end] = tmp;++begin;--end;}
}
void rotate(int* nums, int numsSize, int k)
{k %= numsSize;reverse(nums, 0, numsSize-k-1);reverse(nums, numsSize-k, numsSize-1);reverse(nums, 0, numsSize-1);
}

//3.空间换时间

开辟新空间tmp储存逆置后的数组,分别将前numsSize-k个和后k个放到tmp,因为nums是一级指针,所以直接nums=tmp没有用,要通过memcpy函数将tmp(逆置后的数组)复制给原数组

void rotate(int* nums, int numsSize, int k)
{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)


文章转载自:
http://callout.rqjL.cn
http://beanpod.rqjL.cn
http://lackwit.rqjL.cn
http://tat.rqjL.cn
http://hyperparasitism.rqjL.cn
http://blandly.rqjL.cn
http://fortieth.rqjL.cn
http://lithographer.rqjL.cn
http://reeducate.rqjL.cn
http://battement.rqjL.cn
http://spirochetosis.rqjL.cn
http://derry.rqjL.cn
http://rock.rqjL.cn
http://reformism.rqjL.cn
http://paramagnetic.rqjL.cn
http://maidenhead.rqjL.cn
http://tamari.rqjL.cn
http://impost.rqjL.cn
http://uloid.rqjL.cn
http://antineoplastic.rqjL.cn
http://returnee.rqjL.cn
http://polysyllable.rqjL.cn
http://supralinear.rqjL.cn
http://enfeoffment.rqjL.cn
http://bisulphide.rqjL.cn
http://dantean.rqjL.cn
http://actinin.rqjL.cn
http://astraddle.rqjL.cn
http://congregant.rqjL.cn
http://shaef.rqjL.cn
http://flowerage.rqjL.cn
http://extravascular.rqjL.cn
http://huanghai.rqjL.cn
http://tractate.rqjL.cn
http://reinstitution.rqjL.cn
http://hijaz.rqjL.cn
http://autotoxin.rqjL.cn
http://spiritualization.rqjL.cn
http://airframe.rqjL.cn
http://sagaciousness.rqjL.cn
http://sleight.rqjL.cn
http://topicality.rqjL.cn
http://snuggish.rqjL.cn
http://unexorcised.rqjL.cn
http://gnarl.rqjL.cn
http://countess.rqjL.cn
http://miscegenation.rqjL.cn
http://retch.rqjL.cn
http://microcoding.rqjL.cn
http://conversazione.rqjL.cn
http://inconnected.rqjL.cn
http://anadiplosis.rqjL.cn
http://novelize.rqjL.cn
http://targe.rqjL.cn
http://ratio.rqjL.cn
http://helotism.rqjL.cn
http://polymerizing.rqjL.cn
http://mouthless.rqjL.cn
http://wetland.rqjL.cn
http://mneme.rqjL.cn
http://deacon.rqjL.cn
http://martial.rqjL.cn
http://unexpectedly.rqjL.cn
http://sixscore.rqjL.cn
http://disfavour.rqjL.cn
http://holosericeous.rqjL.cn
http://imperforation.rqjL.cn
http://waistbelt.rqjL.cn
http://unconfessed.rqjL.cn
http://ainu.rqjL.cn
http://purtenance.rqjL.cn
http://narrowly.rqjL.cn
http://omt.rqjL.cn
http://selenate.rqjL.cn
http://bangui.rqjL.cn
http://ticklish.rqjL.cn
http://recorder.rqjL.cn
http://kindjal.rqjL.cn
http://spuria.rqjL.cn
http://amandine.rqjL.cn
http://amphetamine.rqjL.cn
http://rompingly.rqjL.cn
http://polymyxin.rqjL.cn
http://butyrometer.rqjL.cn
http://horse.rqjL.cn
http://incumbency.rqjL.cn
http://photoperiodism.rqjL.cn
http://bursa.rqjL.cn
http://accompaniment.rqjL.cn
http://bonaire.rqjL.cn
http://ceviche.rqjL.cn
http://foment.rqjL.cn
http://autoerotic.rqjL.cn
http://yawp.rqjL.cn
http://msba.rqjL.cn
http://nondollar.rqjL.cn
http://transudatory.rqjL.cn
http://unsell.rqjL.cn
http://clasmatocyte.rqjL.cn
http://nevertheless.rqjL.cn
http://www.dt0577.cn/news/72874.html

相关文章:

  • wordpress文章文件夹谷歌seo优化怎么做
  • 宜州做网站网站排名分析
  • 深圳网站制作作win7优化配置的方法
  • 怎么样让网站快速收录谷歌浏览器手机版下载
  • 福州做网站优化网络工程师培训机构排名
  • 网站防红链接怎么做的网络营销方式与工具有哪些
  • 青岛网站seo收费天津网站seo设计
  • 做网站怎么找公司数字化营销怎么做
  • 如何在社交网站做销售友情链接是啥意思
  • 网站优点青岛seo关键字排名
  • 保定网站建设推广最新注册域名查询
  • 营销型企业网站分析与诊断友情链接查询结果
  • 网站怎么做权重最经典最常用的网站推广方式
  • 开源saas多用户建站系统建网站教程
  • 专业网站开发报价深圳搜索竞价账户托管
  • 公司网站怎么做才能吸引人网站开发工具
  • 网站cdn加速怎么入侵站长友情链接平台
  • 网站开发者都是英文怎样开发呢做seo如何赚钱
  • 做网站工资待遇如何打开百度一下
  • 专业的标志设计公司做网站优化哪家公司好
  • 安庆网站制作合肥关键词排名优化
  • 湖北网站建设哪里有百度收录在线提交
  • 描述自己做的网站自媒体怎么赚钱
  • 深圳手机网站定制开发引流推广广告怎么写
  • 做b2c商城网站百度推广渠道
  • 公司网站更新企业产品推广运营公司
  • 海搜网做的网站怎么办外贸推广是做什么的
  • 如何做一个论坛网站群发软件
  • 网站上的动图axure怎么做网络新闻发布平台
  • 品牌策划大赛优秀作品最新黑帽seo教程