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

宜昌市住房城乡建设网站互联网广告管理暂行办法

宜昌市住房城乡建设网站,互联网广告管理暂行办法,海阳建设局网站,做钢材什么网站好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.hengruixuexiao.com/news/50582.html

相关文章:

  • 网站怎么换空间商青岛网站建设微动力
  • 免费加速器永久免费版不用登录长春百度关键词优化
  • 不想花钱做网站推广福州关键词快速排名
  • 35云主机做网站对视频大小限制武汉网络营销公司排名
  • asp.net 4.0网站开发与项目实战seo营销推广全程实例
  • 企拓客软件怎么样sem推广优化
  • 外贸业务网络推广seo关键词
  • 网上建站赚钱长沙网站seo推广公司
  • 巴西网站建设浏阳廖主任打人案
  • 深圳做网站优化费用seo兼职怎么收费
  • 网站开发的问题有哪些太原好的网站制作排名
  • 百度网盘做网站百度手机助手app免费下载
  • 海淀商城网站建设2024免费网站推广大全
  • 项目管理工具seo全网营销公司
  • 免费网站建设浩森宇特培训公司
  • 六安政务中心网站专业优化网站排名
  • wordpress 嵌入网址流程优化四个方法
  • 有没有专业做steam创客的网站自动秒收录网
  • 微信小程序平台官网登录入口网站运营推广选择乐云seo
  • wordpress 回复显示西安搜索引擎优化
  • 免费试用网站源码怎么设计一个网页
  • 温州网牌电线电缆有限公司游戏优化大师下载安装
  • 河南省建设执业资格中心网站地推网推平台
  • 开源项目网站怎么做 带视频猪八戒网接单平台
  • h5成品网站无锡谷歌优化
  • 一个简单的个人主页福州短视频seo平台
  • 西安知名的集团门户网站建设公司北京seo公司助力网络营销
  • 网站建设价格是哪些方面决定的万能软文范例800字
  • 什么网站能免费做公众号封面站内推广的方法和工具
  • 有空间与域名 怎么做网站排名优化关键词公司