随笔分类 - 位运算
摘要:一、要求 补数可以直接通过异或运算进行。 二、背景 最近工作中位运算遇到一个问题,温度有正负两种表示,而且还有小数点。例如用四个16进制字节表示,XXXX,其中第一位是占位符,中间两三位为温度的有效值,且最后一位的单位是16-1 从而可以表示出小数点。如果第二位中二进制最高位是1,那么表示这个数时负
阅读全文
摘要:一、要求 二、知识点 1.回溯算法 回溯算法相当于穷举法加剪枝,回溯算法总是和深度优先同时出现的,采用深度优先策略回溯到根,且根节点的所有子树都被搜索一遍才结束,并剪掉不符合要求的结果 三、解题思路 (1)采用回溯算法 对于列表数据先对每层进行一次循环(每层代表数组的数量,从0到len(num)),
阅读全文
摘要:一、题目要求 二、题目背景 此题依旧属于位运算范畴 知识点1:有符号和无符号二进制是怎样表现的? 对于有符号数,最高位为1说明是个负数 知识点2:进制之间的相互转换 (1)十进制转十六进制 hex(n) (2)十六进制转十进制 int(str,16),其中str是16进制字符串 (3)十进制转二进制
阅读全文
摘要:一、题目要求 二、题目背景 位运算:或,异或,与,移位 三、解题思路 (1)要求算法时间复杂度是线性的,O(n),想到的是先将列表排序,排序后相同的数值两两之间前后相邻,进行偶数次循环,判断两两数值是否相等即可。需要注意的是考虑列表只有 一个数字和最后一个是single number的情况。 运行结
阅读全文