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

给企业开发网站如何建设和优化一个网站

给企业开发网站,如何建设和优化一个网站,跨国购物网站建设费用,网站建设密码文章目录 算法原理二进制求和题目链接题目描述解题思路代码 字符串相乘题目链接题目描述解题思路代码 算法原理 这两道题都是属于算法里一种经典题型:高精度加/减/乘/除法,需要我们模拟加/减/乘/除 列竖式运算。 二进制求和 题目链接 题目链接 题目描…

文章目录

  • 算法原理
  • 二进制求和
    • 题目链接
    • 题目描述
    • 解题思路
    • 代码
  • 字符串相乘
    • 题目链接
    • 题目描述
    • 解题思路
    • 代码


算法原理

这两道题都是属于算法里一种经典题型:高精度加/减/乘/除法,需要我们模拟加/减/乘/除 列竖式运算。

二进制求和

题目链接

题目链接

题目描述

在这里插入图片描述

解题思路

先创建两个指针分别指向字符串末尾,创建变量t存储每次加法的结果。 首先一个while循环当两个字符串都遍历完并且变量值为0时跳出循环。
我们做加法是从后往前加,所以先创建两个指针分别指向字符串末尾,把指向的值分别加到变量t中,注意这里我们a[end]访问到的是字符’0’或’1’的ascll码值,所以它还要减去’0’。
加完后不要忘记end–。
得到的值t还要模2才能把值+=到字符串中,因为二进制加法逢二进一,注意还要把得到的值加’0‘得到字符1的ASCII码值,因为我们需要加的是字符1,再把t除二赋给t当作进位参与下一次加法运算。
因为s一直的尾插,所以最后还要把s逆置一下得到结果。

代码

class Solution {
public:string addBinary(string a, string b) {string s;int end1 = a.size() - 1;int end2 = b.size() - 1;int t = 0;while (end1 >= 0 || end2 >= 0 || t){if(end1 >= 0)t += a[end1--] - '0';if(end2 >= 0)t += b[end2--] - '0';s += t % 2 + '0';t = t / 2;}reverse(s.begin(), s.end());return s;}
};

字符串相乘

题目链接

题目链接

题目描述

在这里插入图片描述

解题思路

在这里插入图片描述

这道题解法是我们依次相乘后的结果先不进位,乘完后一起相加得到结果后再进位,在加之前进位和加之后进位最后得到的结果是一样的,无进位相乘再相加代码编写会更便捷。
步骤一
先将原始字符字符串逆序,因为我们要将字符串数据相乘得到的数据存放到整型数组
vector中,逆序两个字符串下标相加正好就和要存放位置的vector的下标对应。
步骤二
两层for循环搞定无进位相加,我们要开一个动态数组vector来存放无进位相加的结果,动态数组大小为m + n -1,这里我们考虑极限情况,下面999*999得到的结果也只是五个数,所以用m + n - 1来存是完全足够的,下标的对应关系和我们之前分析的一样。
这里还要特别注意因为题目的num1和num2是string对象,所以里面存的数据类型的char,也就是数字对应的ASCII码值,所以[]取到的值还要减去字符0对应的 ASCII码值。

在这里插入图片描述

步骤三
这里就需要处理无进位相加的结果,这里思路和我们上一题二进制相加很类似,定义一个cur记录vector下标,定义一个t记录处理进位后的结果,这里也要注意把t尾插到string里要先加’0’。
步骤四
这里是乘法,所以要比上一题多一个步骤,处理前导零。如果两个乘数有其中一个为0那么结果就为单独一个0,处理前导零之前有可能有多个0,具体几个0取决于m+n-1的结果,那么就需要将多余的0删除。
最后再将string逆置,就得到结果啦。

代码

class Solution {
public:string multiply(string n1, string n2) {//1、准备工作reverse(n1.begin(),n1.end());reverse(n2.begin(),n2.end());size_t m = n1.size();size_t n = n2.size();//2、无进位相加vector<int> v(m + n - 1);for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){//字符ASCII码转换成数字v[i + j] += (n1[i] - '0') * (n2[j] - '0');}}//3、处理进位size_t cur = 0, t = 0;string ret;while(cur < m + n - 1 || t != 0){//避免越界if(cur < m + n - 1)t += v[cur++];//数字转换成ASCII码ret += (t % 10) + '0';t = t / 10;}//4、处理前导零while(ret.size() > 1 && ret.back() == '0')ret.pop_back();reverse(ret.begin(), ret.end());return ret;}
};

以上就是小编分享的全部内容了,如果觉得不错还请留下免费的关注和收藏
如果有建议欢迎通过评论区或私信留言,感谢您的大力支持。
一键三连好运连连哦~~

在这里插入图片描述


文章转载自:

http://3eyb8oTS.gtxrw.cn
http://i8Ai6Q0o.gtxrw.cn
http://Ov13Lb2m.gtxrw.cn
http://ZWDaWYAm.gtxrw.cn
http://ukkagkZG.gtxrw.cn
http://lhy9rNsz.gtxrw.cn
http://9eTWXDQz.gtxrw.cn
http://b2SwQ7ag.gtxrw.cn
http://GZAIcUZi.gtxrw.cn
http://PXk3qfQC.gtxrw.cn
http://mM1BA0ZG.gtxrw.cn
http://W7C6xbbl.gtxrw.cn
http://eeIq3WsY.gtxrw.cn
http://JYPZ5iuK.gtxrw.cn
http://iMxZi7MA.gtxrw.cn
http://yrgbhvY5.gtxrw.cn
http://MvYxMszL.gtxrw.cn
http://nsODNzHw.gtxrw.cn
http://AtIPGz7G.gtxrw.cn
http://ynBvbkAW.gtxrw.cn
http://tmQ0R3Ky.gtxrw.cn
http://gXvZguIa.gtxrw.cn
http://Mni80fB4.gtxrw.cn
http://ZRypdtF8.gtxrw.cn
http://Ehq5QO1A.gtxrw.cn
http://8wGiyYKc.gtxrw.cn
http://P1O0b1hK.gtxrw.cn
http://zfhfiZUq.gtxrw.cn
http://PHE3kKKG.gtxrw.cn
http://VzJ28GPz.gtxrw.cn
http://www.dtcms.com/wzjs/692763.html

相关文章:

  • 手机网站的建设icp备案网站名称是什么意思
  • 做电商网站有什语言好京津冀协同发展心得体会
  • 永川网站建设河源市建设网站
  • wordpress拼图怎么提高seo排名
  • 商丘哪里教做网站的如何自己做优惠卷网站
  • 有趣的网站名称制作网站参考
  • 关键词没有排名的网站怎么做wordpress媒体库上限
  • 江苏住房建设厅主办网站上海网站设计kinglink
  • 珠海专业网站制作wordpress网页打开很慢
  • 百度网站怎么建设的深圳自适应网站制作
  • 广州网站推广哪家强旅游网站开发指导
  • 重庆网站制作公司 淘宝做网站价格
  • 电子商务网站建设报价网页设计参考图
  • 乐云seo网站建设公司平台网站的策划设计
  • 太原住房与城乡建设厅网站wordpress如何设计首页文章显示
  • 企业网站建设的报价电商推广渠道有哪些
  • 网站建设难点自助网站建设方法
  • 男女做暧暧视频免费网站会员管理系统app免费版
  • 建网站非要做外链吗四线城市做网站建设怎么样
  • 微网站开发外包南京网站定制
  • 天门市网站建设哈尔滨网站建设企业
  • 湖州网站建设有哪些做搜狗pc网站优化排
  • 毕业室内设计代做网站怎么做公司的中英文网站
  • 黄冈做网站的公司哪家好东莞专业网站建设服务
  • 网站建设业务的延伸性好听顺口的公司名字
  • 深圳罗湖网站设计公司价格建行app官方下载
  • 备案的网站名wordpress 七牛 图床
  • 网站建设工单系统郑州一建拖欠工资
  • 建设企业网站技术解决方案网络营销工具的定义
  • 下载 公司网站 程序 需要ftp权限哪个网站做免费小程序