当前位置:网站首页>1720. 解码异或后的数组
1720. 解码异或后的数组
2022-08-10 18:00:00 【Mr Gao】
1720. 解码异或后的数组
未知 整数数组 arr 由 n 个非负整数组成。
经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。
给你编码后的数组 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]
博主很少写这些,位运算的题目,因为我的编程领域涉及的少,看到这题,做了一下,发现位运算之间确实有很多奇妙的地方,解题代码如下:
/** * Note: The returned array must be malloced, assume caller calls free(). */
int* decode(int* encoded, int encodedSize, int first, int* returnSize){
int *re=(int *)malloc(sizeof(int)*(encodedSize+1));
for(int i=0;i<encodedSize+1;i++){
if(i==0){
re[i]=first;
}
else{
re[i]=re[i-1]^encoded[i-1];
}
}
*returnSize=encodedSize+1;
return re;
}
边栏推荐
- Making Pre-trained Language Models Better Few-Shot Learners
- 兼具外观、性能、屏幕!华硕灵耀X 14火热抢购中
- Selenium - 如何操作鼠标进行悬停、右击、双击、拖拽?
- 6-10 二分查找(20分)
- 烟雾、空气质量、温湿度…自己徒手做个环境检测设备
- Scala中使用 Jackson API 进行JSON序列化和反序列化
- HarmonyOS自动化测试框架—Hypium
- 【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(下)
- 【测试】黑盒测试用例设计方法
- How to choose Fengjiawei PHY62xx series?PHY6222/PHY6212/PHY6252
猜你喜欢
随机推荐
Flexsim 发生器和暂存区设定临时实体流颜色和端口
Active users of mobile banking grew rapidly in June, hitting a half-year high
pip安装时 fatal error C1083 无法打开包括文件 “io.h” No such file or directory
Toronto Research Chemicals 双(乙酰丙酮)铂(II)
期货开户手续费加1分已经是常态
Flexsim 发生器设置label和颜色
【图像去雾】基于颜色衰减先验的图像去雾附matlab代码
Selenium - 如何使用隐式、显示、强制元素等待?
华为云连续5年保持中国政务云基础设施市场份额第一…
「业务架构」业务能力的热图是什么,有啥用?
Interpretation of ZLMediaKit server source code---RTSP push and pull
不能直接在交易所期货开户
产品说明丨Android端使用MobPush快速集成方法
Toronto Research Chemicals霉菌毒素分析丨伏马菌素B2
Toronto Research Chemicals农药检测丨甲硫威
Keil5退出仿真调试卡死的解决办法
How to choose Fengjiawei PHY62xx series?PHY6222/PHY6212/PHY6252
leet面试150
【HMS core】【FAQ】Account Kit、push Kit典型问题合集1
D-Wave成功上市!量子计算商业化正在加速









