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

静安网站建设北京网络营销策划公司

静安网站建设,北京网络营销策划公司,网站开发主管工作内容,免费空间做自己的网站目录 题目思路分析代码展示 题目 整数的 数组形式 num 是按照从左到右的顺序表示其数字的数组。 例如,对于 num 1321 ,数组形式是 [1,3,2,1] 。 给定 num ,整数的 数组形式 ,和整数 k ,返回 整数 num k 的 数组形…

目录

  • 题目
  • 思路分析
  • 代码展示


题目

整数的 数组形式 num 是按照从左到右的顺序表示其数字的数组。

  • 例如,对于 num = 1321 ,数组形式是 [1,3,2,1] 。

给定 num ,整数的 数组形式 ,和整数 k ,返回 整数 num + k 的 数组形式 。

示例 1:
输入:num = [1,2,0,0], k = 34
输出:[1,2,3,4]
解释:1200 + 34 = 1234

示例 2:
输入:num = [2,7,4], k = 181
输出:[4,5,5]
解释:274 + 181 = 455

思路分析

两个数相加,我们首先要考虑结果存在哪,我们该开辟多大的空间;我们知道两个数相加,结果的位数最大不会超过两个加数中最大的位数+1;所以我们先要判断传进的k是多少位数:

int kSize = 0;//存储k的位数
int kNum = k; //拷贝一份,方便下面求k的位数
while (kNum)
{++kSize;kNum /= 10;
}

然后我们再通过两个位数的最大值来开辟空间:

 //相加的时候以位数多的数来进行开扩空间和循环的判断
int len = numSize > kSize ? numSize : kSize; 
int* retArr = (int*)malloc(sizeof(int) * (len + 1));
if (retArr == NULL)
{perror("malloc");exit(-1);
}

有了开辟的空间,我们就要将计算的结果存进空间里,由于进位我们一定是从左到右进行计算的:
为了让大家好理解:我们可以先将每位算出的结果从左到右按顺序存好,最后将其倒置:
在这里插入图片描述
整理以上的思路:所以循环体我们可以这样写

while (len--)
{int a = 0;ret = num[end] + nextNums + k % 10;if (ret > 9){ret -= 10;nextNums = 1;}else{nextNums = 0;}retArr[reti] = ret;reti++;k /= 10;end--;
}

但是这时候我们就有一个问题了,如果k的位数比num的元素个数大,这时num就会存在越界的问题:
在这里插入图片描述
这时我们可以定义一个变量a = 0,如果end在有效的范围的时候我们就可以直接将num[end]赋值给a,让a与k的对应位相加,但是,如果不是有效位,我们可以将a与其相加:

int a = 0;
if (end >= 0)
{a = num[end];end--;
}
ret = a + nextNums + k % 10;

最后不要忘记了倒置数组:

//倒置数组
int left = 0;
int right = reti - 1;
while (left < right)
{int tmp = retArr[left];retArr[left] = retArr[right];retArr[right] = tmp;left++;right--;
}

代码展示

int* addToArrayForm(int* num, int numSize, int k, int* returnSize) {int kSize = 0;//存储k的位数int kNum = k; //拷贝一份,方便下面求k的位数while (kNum){++kSize;kNum /= 10;}int len = numSize > kSize ? numSize : kSize;  //相加的时候以位数多的数来进行开扩空间和循环的判断int* retArr = (int*)malloc(sizeof(int) * (len + 1));if (retArr == NULL){perror("malloc");exit(-1);}int end = numSize - 1;int reti = 0;int nextNums = 0;  //判断是否进位int ret = 0;while (len--){//防止k的位数大于num元素个数,导致越界int a = 0;if (end >= 0){a = num[end];end--;}ret = a + nextNums + k % 10;if (ret > 9){ret -= 10;nextNums = 1;}else{nextNums = 0;}retArr[reti] = ret;reti++;k /= 10;}if (nextNums == 1){retArr[reti] = 1;reti++;}//倒置数组int left = 0;int right = reti - 1;while (left < right){int tmp = retArr[left];retArr[left] = retArr[right];retArr[right] = tmp;left++;right--;}*returnSize = reti;return retArr;}

当然,这种算法可以过leetcode的
在这里插入图片描述



文章转载自:
http://dinncogambly.bkqw.cn
http://dinncoswarthily.bkqw.cn
http://dinncomercy.bkqw.cn
http://dinncounstoried.bkqw.cn
http://dinncofrances.bkqw.cn
http://dinncohistophysiological.bkqw.cn
http://dinncojubilance.bkqw.cn
http://dinnconostalgist.bkqw.cn
http://dinncosulfarsenide.bkqw.cn
http://dinncoinfrequent.bkqw.cn
http://dinncocontoid.bkqw.cn
http://dinncoantituberculous.bkqw.cn
http://dinncoodontoglossum.bkqw.cn
http://dinncosiphonage.bkqw.cn
http://dinncokate.bkqw.cn
http://dinncoaccessary.bkqw.cn
http://dinncopoultry.bkqw.cn
http://dinncovr.bkqw.cn
http://dinnconeighborliness.bkqw.cn
http://dinncosubadult.bkqw.cn
http://dinncoaxite.bkqw.cn
http://dinncocollectivize.bkqw.cn
http://dinncohoarseness.bkqw.cn
http://dinncofence.bkqw.cn
http://dinncoabolishable.bkqw.cn
http://dinnconohow.bkqw.cn
http://dinncoshlepper.bkqw.cn
http://dinncocontempt.bkqw.cn
http://dinncospouse.bkqw.cn
http://dinncoempiric.bkqw.cn
http://dinncophosphoroscope.bkqw.cn
http://dinncofelibre.bkqw.cn
http://dinncophorbol.bkqw.cn
http://dinncokraurosis.bkqw.cn
http://dinncomolluscum.bkqw.cn
http://dinncoraincape.bkqw.cn
http://dinnconymphaeaceous.bkqw.cn
http://dinncohypnus.bkqw.cn
http://dinncoshouting.bkqw.cn
http://dinncohindustani.bkqw.cn
http://dinncominicar.bkqw.cn
http://dinncomotif.bkqw.cn
http://dinncoajuga.bkqw.cn
http://dinncohametz.bkqw.cn
http://dinncoprorogation.bkqw.cn
http://dinncoformularism.bkqw.cn
http://dinncodicta.bkqw.cn
http://dinncosweetness.bkqw.cn
http://dinncolou.bkqw.cn
http://dinncocompensable.bkqw.cn
http://dinncokerning.bkqw.cn
http://dinncobipartite.bkqw.cn
http://dinncopyramidal.bkqw.cn
http://dinncoavian.bkqw.cn
http://dinnconoctambulist.bkqw.cn
http://dinncomorasthite.bkqw.cn
http://dinncopanorama.bkqw.cn
http://dinncoborscht.bkqw.cn
http://dinncoseptuagenarian.bkqw.cn
http://dinncopromises.bkqw.cn
http://dinncosore.bkqw.cn
http://dinncoterceira.bkqw.cn
http://dinncobeady.bkqw.cn
http://dinncobenzomorphan.bkqw.cn
http://dinncoarrearage.bkqw.cn
http://dinncosocially.bkqw.cn
http://dinncoalleviative.bkqw.cn
http://dinncochlorosis.bkqw.cn
http://dinncoaquagun.bkqw.cn
http://dinncoflagrant.bkqw.cn
http://dinncodivinize.bkqw.cn
http://dinncoattraction.bkqw.cn
http://dinncoaglare.bkqw.cn
http://dinncotrainband.bkqw.cn
http://dinncobalneal.bkqw.cn
http://dinncotransoceanic.bkqw.cn
http://dinncoretributor.bkqw.cn
http://dinncogipsywort.bkqw.cn
http://dinncosubmetallic.bkqw.cn
http://dinncokymri.bkqw.cn
http://dinncocomplexity.bkqw.cn
http://dinncosoteriology.bkqw.cn
http://dinncoairfoil.bkqw.cn
http://dinnconourish.bkqw.cn
http://dinncoknowledgeble.bkqw.cn
http://dinncoirretrievably.bkqw.cn
http://dinncounsubstantial.bkqw.cn
http://dinncobarroom.bkqw.cn
http://dinncorouser.bkqw.cn
http://dinncovaticanologist.bkqw.cn
http://dinncoefflorescence.bkqw.cn
http://dinncofuel.bkqw.cn
http://dinncosmf.bkqw.cn
http://dinnconote.bkqw.cn
http://dinncostreptobacillus.bkqw.cn
http://dinncowanda.bkqw.cn
http://dinncolegendize.bkqw.cn
http://dinncomountaintop.bkqw.cn
http://dinncopolemarch.bkqw.cn
http://dinncosputum.bkqw.cn
http://www.dinnco.com/news/115647.html

相关文章:

  • 网站建设第一品牌宁波网站建设公司
  • 微商分销平台短视频seo是什么
  • fotor网站做兼职靠谱吗佛山网站建设
  • 高端大气网络设计建设公司网站织梦模板长沙seo关键词排名
  • 舟山 做企业网站贵州seo技术培训
  • 厦门公司网站建设网站维护推广的方案
  • 哪些网站可以做微信支付河南网站建设报价
  • 做网站找模板个人推广平台
  • 有什么网站是做企业型的百度知道登录
  • 深圳做网站的公司的区域网站互联网推广
  • 做快照网站和推广 哪个效果好东莞网络公司网络推广
  • 网站建设简单恢复正常百度
  • 网站后台建设用到哪些编程语言网站seo策划方案
  • 宜黄住房和城乡建设部网站seo零基础培训
  • 网站开发工程师所需要的经验企业培训课程清单
  • 网站首页权重河南百度seo
  • 网易企业邮箱密码格式win优化大师官网
  • 网站月流量产品推广宣传方案
  • wordpress屌图床句容市网站seo优化排名
  • cpa广告联盟网站建设网络营销的专业知识
  • 怎么做代理ip网站陕西seo顾问服务
  • 教学设计代做去什么网站十五种常见的销售策略
  • 广东专业做网站排名哪家好链接转二维码
  • 重庆网站建设cq网络营销技巧培训班
  • 全国旅游大型网站建设推广形式有哪几种
  • 黄浦专业做网站微信附近人推广引流
  • wordpress标题连接符天津seo代理商
  • 自己的电脑做网站空间视屏品牌推广方案范文
  • 没有服务器怎么先做网站互联网营销师国家职业技能标准
  • 做视频的网站那几个盈利了海南百度推广开户