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

宜昌市住房城乡建设网站seo技术培训东莞

宜昌市住房城乡建设网站,seo技术培训东莞,怎么做苹果手机网站首页,开发公众号需要多少钱1073. 负二进制数相加 题意 基数为 -2 。实现两个 0/1 数组串的加法。 解法 这是一道模拟题。 设 arr1[i] 和 arr2[i] 是数组 arr1 和 arr2 从低到高的第 i 位数。 首先回顾普通的二进制数的相加,从低位开始计算,在计算的同时维护用一个变量 carry…

1073. 负二进制数相加

题意

  • 基数为 -2 。
  • 实现两个 0/1 数组串的加法。

解法

这是一道模拟题。

arr1[i]arr2[i] 是数组 arr1arr2 从低到高的第 i 位数。

首先回顾普通的二进制数的相加,从低位开始计算,在计算的同时维护用一个变量 carry 维护进位信息,因此,对于第 i 位的结果 ans[i] = arr1[i] + arr2[i] + carry。若 ans[i] = 0, 1,则更新 carry = 0,ans[i] = 0, 1;若 ans[i] = 2, 3,则更新 carry = 1,ans[i] = ans[i] - 2。

类比到基数为 -2 的二进数相加上,从低位开始计算,在计算的同时用一个变量 carry 维护进位信息,同样地,对于第 i 为的结果 ans[i] = arr1[i] + arr2[i] + carry。则此时的 carry 的范围变成了 [-1, 0],ans[i] 的范围变成了 [-1, 0, 1, 2]。若 ans[i] = 0, 1,则更新 carry = 0,ans[i] = 0, 1;若 ans[i] = 2,则更新 carry = -1(因为相邻位的正负号是反的,所以进位一定是 -1 ),ans[i] = ans[i] - 2;若 ans[i] = -1,此时是一种特殊情况,需要单独讨论:

当 ans[i] = -1 时,需要将其进行转换。又注意到:
(-2)i+1 + (-2)i = - (-2)i,所以将 ans[i] 赋为 -1 和将 ans[i] 和 ans[i+1] 都加 1 的效果是一样的,因此更新 carry = 1,ans[i] = 1。

// 官方解法
class Solution {
public:vector<int> addNegabinary(vector<int>& arr1, vector<int>& arr2) {vector<int> ans;int idx1 = arr1.size() - 1, idx2 = arr2.size() - 1;int carry = 0;while(idx1 >= 0 || idx2 >= 0 || carry) 	// carry 要放在 while 循环条件里{int x = carry;if(idx1 >= 0){x += arr1[idx1];}if(idx2 >= 0){x += arr2[idx2];}idx1 --;idx2 --;if(x >=2){ans.push_back(x - 2);carry = -1;}else if (x >= 0){ans.push_back(x);carry = 0;}else{ans.push_back(1);carry = 1;}}// 删去前置 0 while(ans.size() > 1 && ans.back() == 0){ans.pop_back();}reverse(ans.begin(), ans.end());return ans;}
};

http://www.tj-hxxt.cn/news/95702.html

相关文章:

  • 微网站建设公司哪家好广告传媒公司
  • 公司注册资金要求seo网站优化快速排名软件
  • 上传网站到二级域名杭州百度推广公司有几家
  • 公司网站是不是每天要更新如何找推广平台
  • 武邑县建设局网站防止恶意点击软件管用吗
  • 电商网站模板下载拼多多女装关键词排名
  • 网站建设与制作有品质的网站推广公司
  • 贵港网站建设公司营销软文小短文
  • wordpress网站建设教程aso排名优化知识
  • 怎么将自己的视频推广出去广州seo网站服务公司
  • 北京建网站公司飞沐竞价账户托管
  • 响应式网站建设精英做公司网站的公司
  • 大气宽屏企业网站源码seo优化啥意思
  • 做京挑客的网站企业官网
  • 浅谈全球五金网电子商务网站建设百度风云榜
  • 党政门户网站怎么做网络游戏推广员的真实经历
  • 门户网站阳光警务执法办案查询岳阳seo公司
  • 做个公司网站一般多少钱百度小说排行
  • 江西网站建设公司网站文章优化技巧
  • 北京网站名称注册证书怎么制作网站
  • 怎样做付费下载的网站网站seo在线诊断
  • ueditor解析wordpress漳州seo网站快速排名
  • 范文网站学校技防 物防建设郑州关键词网站优化排名
  • 做网站需要服务器和什么seo查询5118
  • 网页设计实验报告总结模板临沂seo顾问
  • 浙江建设信息港三类人员成绩查询深圳seo云哥
  • 保网微商城app下载南昌seo营销
  • 如何使用爱站网域名查询备案
  • 怎么做网站计划最新网站查询工具
  • 广水网站定制厦门网站推广费用