给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 知识点: 交换律:a ^ b ^ c <=> a ^ c ^ b 任何数于0异或为任何数 0 ^ n => n 相同的数异或为0: n ^ n => 0…
做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)? 在此生成由数字,字母组成的20位字符串 uuid模块 import uuid def get_id(): file_object = open('uudi.txt','w+') for i in range(200): ID = str(uuid.uuid1()) + '\n' file_object.write("ID"…
题目: 判断101-200之间有多少个素数,并输出所有素数. 程序分析: 判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数. 个人思路及代码: li=[] def is_prime(num): n = int(sqrt(num)) for i in range(2,n+1): if num % i == 0: print("%s不是素数"%num) break else: print("%s是素数" % num)…
题目: 输出 9*9 乘法口诀表. 程序分析: 分行与列考虑,共9行9列,i控制行,j控制列. 个人思路及代码: 第一版: for i in range(1,10): for j in range(1,10): print(" %s*%s=%s"%(i,j,i*j),end='') 第二版 for i in range(1,10): for j in range(1,10): print("%d*%d=%2d " % (j, i, i * j),end="…
题目: 输入三个整数x,y,z,请把这三个数由小到大输出. 程序分析: 我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小. 个人的思路及代码: 两种方法:分别使用sorted()或者min()函数 x,y,z = [int(x) for x in input("请输入三个数字:三个数字间以空格分隔").strip().split(" ")] li…