当谷歌搜索有关

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(^)校验和的方法相关推荐

  1. python中异或运算_Tensorflow轻松实现XOR运算的方式

    对于"XOR"大家应该都不陌生,我们在各种课程中都会遇到,它是一个数学逻辑运算符号,在计算机中表示为"XOR",在数学中表示为" ",学名为 ...

  2. python中的除法运算_python中矩阵除法运算的三种实现方法

    介绍过python矩阵的乘法运算,numpy库中虽然乘法是矩阵运算的主要运算,但是numpy作为python中实现矩阵运算的好工具,也是可以轻松实现除法计算的,本文python中矩阵除法的三种实现方法 ...

  3. python中exchange函数使用_python基于exchange函数发送邮件过程详解

    python基于exchange函数发送邮件过程详解 作者: shuzihua 更新时间:2020-11-06 10:40:35 原文链接 1.Python hasattr() 函数 描述 hasat ...

  4. python中bttext什么意思_Python实现解析Bit Torrent种子文件内容的方法

    有人会 python语言 对BT种子解析 吗bt的客户端,本来就有纯python编写的. 你找一个下载就可以了. 我印象中bittorrent就是python编写的. python开发很方便,也很快. ...

  5. python中怎么替换字母_python去除拼音声调字母,替换为字母的方法

    第一种方法 import sys import unicodedata s = "Lǐ Zhōu Wú" remap = { # ord返回ascii值 ord('\t'): '' ...

  6. python中异或怎么算_python 异或运算的前提_异或运算公式

    Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...

  7. python怎么进行分数运算_Python中的分数运算

    Python中的分数运算,在Python标准库fractions中的Fraction对象支持分数运算.具体操作如下: 在windows下,通过cmd进到dos shell,输入python3进入到py ...

  8. python中怎么表示正数_python中整数除法的正负号

    先看下面几个小题目:其中符号"//"表示除法结果的整数部分(即3/2=1.5,但3//2=1),"%"表示取余数. (1)7//3 和 7%3 的结果是什么? ...

  9. Python 中的位运算-基础知识

    目录 1.编码基础知识-原码.反码.补码 1.1 原码 1.2 反码 1.3 补码 2.Python 中的位运算 2.1 左移运算符(<<) 2.2 右移运算符(>>) 2.3 ...

最新文章

  1. Iframe 用法浅析
  2. 淘宝开源代码质量检测工具!
  3. DVWA1.9平台XSS小结
  4. 三个很有用的sqlserver中的处理多个以分隔符分隔的参数的函数
  5. Java 地下迷宫·算法·(ACM/蓝桥杯)·递归解法
  6. Java常见的系统路径与获取方法
  7. 很多想法、很多感慨。
  8. eclipse 搭建Android 开发环境(ADT安装和sdk下载,选择)
  9. qmediaplayer获取流类型_Android MediaPlayer类详解
  10. 多次fork问题(python 版)
  11. MySQL - ODBC安装错误问题!
  12. MATLAB模拟导热过程,一维热传导MATLAB模拟.doc
  13. oracle 百分位数,Oracle分析函数PERCENTILE_CONT,percentile函数
  14. 《领域驱动设计 DDD》核心知识梳理笔记
  15. java支付宝获取付款信息,java支付宝支付开发教程
  16. 阿里云个人站点基于nginx代理搭建https协议支持
  17. java多重背包代码实现
  18. TINA导入SPICE模型
  19. 可见光通信 调制解调技术 家庭机器人 可见光通信应用 原理及硬件方案
  20. 谷歌广告联盟电汇收款指南

热门文章

  1. java selenium (十二) 操作弹出窗口
  2. MySQL 5.6x开启慢查询日志
  3. 万能文件在线预览项目,开源!
  4. 为何程序C语言不会消亡?程序员学习C会白学吗?
  5. 飞鸽传书绿色版 部分数据库被陆续公开了
  6. C++Builder编程中动态更改自定义打印纸张
  7. 用线程实现动态改变图标
  8. 最著名的10位程序员,你都知道吗?
  9. 别看程序员只是表面风光
  10. 快来!前端君喊你加入快驾网智囊团