LeetCode 1720. 解码异或后的数组(位运算)
发布日期:2021-07-01 03:35:43
浏览次数:2
分类:技术文章
本文共 1006 字,大约阅读时间需要 3 分钟。
文章目录
1. 题目
未知 整数数组 arr 由 n 个非负整数组成。
经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1]
。
给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr[0])。
请解码返回原数组 arr 。可以证明答案存在并且是唯一的。
示例 1:输入:encoded = [1,2,3], first = 1输出:[1,0,2,1]解释:若 arr = [1,0,2,1] ,那么 first = 1 且 encoded = [1 XOR 0, 0 XOR 2, 2 XOR 1] = [1,2,3]示例 2:输入:encoded = [6,2,7,3], first = 4输出:[4,2,0,7,4] 提示:2 <= n <= 10^4encoded.length == n - 10 <= encoded[i] <= 10^50 <= first <= 10^5
2. 解题
- 一个数异或偶数次就抵消了,相当于没有
encoded[i] = arr[i] ^ arr[i + 1]
,encoded[i] ^ arr[i] = arr[i] ^ arr[i + 1] ^ arr[i] = arr[i+1]
class Solution { public: vector decode(vector & encoded, int first) { int n = encoded.size(); vector ans(n+1); ans[0] = first; for(int i = 0; i < n; i++) { ans[i+1] = ans[i]^encoded[i]; } return ans; }};
52 ms 24.5 MB C++
我的CSDN
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
转载地址:https://michael.blog.csdn.net/article/details/112426120 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月08日 05时03分01秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Netty学习(六)-LengthFieldBasedFrameDecoder解码器
2019-05-03
Netty学习(七)-Netty编解码技术以及ProtoBuf和Thrift的介绍
2019-05-03
Netty学习(八)-Netty的心跳机制
2019-05-03
消息中间件和JMS介绍(一)
2019-05-03
消息中间件-activemq入门(二)
2019-05-03
消息中间件-activemq消息机制和持久化介绍(三)
2019-05-03
消息中间件-activemq实战之整合Spring(四)
2019-05-03
Mybatis Generator最完整配置详解
2019-05-03
光棍节程序员闯关秀过关全攻略(附带小工具)
2019-05-03
Asp.Net MVC4入门指南(1): 入门介绍
2019-05-03
分享ISTQB培训体验
2019-05-03
Asp.Net MVC4入门指南(3):添加一个视图
2019-05-03
我看TechEd 2012之技术热点
2019-05-03
QCon所见和所得:杭州QCon热门技术话题分享
2019-05-03
古城钟楼微博:葡萄城程序员演练技术的产物
2019-05-03
Asp.Net MVC4入门指南(4):添加一个模型
2019-05-03
Asp.Net MVC4入门指南(5):从控制器访问数据模型
2019-05-03
我看TechEd 2012之App时代降临
2019-05-03
WinRT开发语言的功能和效率
2019-05-03