python中异或运算_python – 基于ID列表有效计算XOR(^)校验和的方法
当谷歌搜索有关
Python列表理解的信息时,我获得了一个google foobar挑战,我在过去的几天里一直在慢慢地工作以获得乐趣.最新挑战:
有效地要求生成ID列表,忽略每个新行的增加数字,直到剩下一个ID.然后你应该XOR(^)ID来产生校验和.我创建了一个输出正确答案的工作程序,但是在分配的时间内传递所有测试用例(通过6/10)效率不高.长度为50,000应该在20秒内产生结果,但需要320.
有人可以引导我朝着正确的方向前进,但请不要为我做这件事,我很乐意用这个挑战推动自己.也许我可以实现一种数据结构或算法来加快计算时间?
代码背后的逻辑:
>首先,获取起始ID和长度
>生成ID列表,忽略每个新行中越来越多的ID,从忽略第一行的0开始.
>使用for循环对IDS列表中的所有数字进行异或
>答案以int形式返回
import timeit
def answer(start,length):
x = start
lengthmodified = length
answerlist = []
for i in range (0,lengthmodified): #Outter for loop runs an amount of times equal to the variable "length".
prestringresult = 0
templist = []
for y in range (x,x + length): #Fills list with ids for new line
templist.append(y)
for d in range (0,lengthmodified): #Ignores an id from each line, increasing by one with each line, and starting with 0 for the first
answerlist.append(templist[d])
lengthmodified -= 1
x += length
for n in answerlist: #XORs all of the numbers in the list via a loop and saves to prestringresult
prestringresult ^= n
stringresult = str(prestringresult)
answerlist = [] #Emptys list
answerlist.append(int(stringresult)) #Adds the result of XORing all of the numbers in the list to the answer list
#print(answerlist[0]) #Print statement allows value that's being returned to be checked, just uncomment it
return (answerlist[0]) #Returns Answer
#start = timeit.default_timer()
answer(17,4)
#stop = timeit.default_timer()
#print (stop - start)
python中异或运算_python – 基于ID列表有效计算XOR(^)校验和的方法相关推荐
- python中异或运算_Tensorflow轻松实现XOR运算的方式
对于"XOR"大家应该都不陌生,我们在各种课程中都会遇到,它是一个数学逻辑运算符号,在计算机中表示为"XOR",在数学中表示为" ",学名为 ...
- python中的除法运算_python中矩阵除法运算的三种实现方法
介绍过python矩阵的乘法运算,numpy库中虽然乘法是矩阵运算的主要运算,但是numpy作为python中实现矩阵运算的好工具,也是可以轻松实现除法计算的,本文python中矩阵除法的三种实现方法 ...
- python中exchange函数使用_python基于exchange函数发送邮件过程详解
python基于exchange函数发送邮件过程详解 作者: shuzihua 更新时间:2020-11-06 10:40:35 原文链接 1.Python hasattr() 函数 描述 hasat ...
- python中bttext什么意思_Python实现解析Bit Torrent种子文件内容的方法
有人会 python语言 对BT种子解析 吗bt的客户端,本来就有纯python编写的. 你找一个下载就可以了. 我印象中bittorrent就是python编写的. python开发很方便,也很快. ...
- python中怎么替换字母_python去除拼音声调字母,替换为字母的方法
第一种方法 import sys import unicodedata s = "Lǐ Zhōu Wú" remap = { # ord返回ascii值 ord('\t'): '' ...
- python中异或怎么算_python 异或运算的前提_异或运算公式
Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...
- python怎么进行分数运算_Python中的分数运算
Python中的分数运算,在Python标准库fractions中的Fraction对象支持分数运算.具体操作如下: 在windows下,通过cmd进到dos shell,输入python3进入到py ...
- python中怎么表示正数_python中整数除法的正负号
先看下面几个小题目:其中符号"//"表示除法结果的整数部分(即3/2=1.5,但3//2=1),"%"表示取余数. (1)7//3 和 7%3 的结果是什么? ...
- Python 中的位运算-基础知识
目录 1.编码基础知识-原码.反码.补码 1.1 原码 1.2 反码 1.3 补码 2.Python 中的位运算 2.1 左移运算符(<<) 2.2 右移运算符(>>) 2.3 ...
最新文章
- Iframe 用法浅析
- 淘宝开源代码质量检测工具!
- DVWA1.9平台XSS小结
- 三个很有用的sqlserver中的处理多个以分隔符分隔的参数的函数
- Java 地下迷宫·算法·(ACM/蓝桥杯)·递归解法
- Java常见的系统路径与获取方法
- 很多想法、很多感慨。
- eclipse 搭建Android 开发环境(ADT安装和sdk下载,选择)
- qmediaplayer获取流类型_Android MediaPlayer类详解
- 多次fork问题(python 版)
- MySQL - ODBC安装错误问题!
- MATLAB模拟导热过程,一维热传导MATLAB模拟.doc
- oracle 百分位数,Oracle分析函数PERCENTILE_CONT,percentile函数
- 《领域驱动设计 DDD》核心知识梳理笔记
- java支付宝获取付款信息,java支付宝支付开发教程
- 阿里云个人站点基于nginx代理搭建https协议支持
- java多重背包代码实现
- TINA导入SPICE模型
- 可见光通信 调制解调技术 家庭机器人 可见光通信应用 原理及硬件方案
- 谷歌广告联盟电汇收款指南