Python算法每日一题--002--求众数】的更多相关文章

给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: [3,2,3]输出: 3示例 2: 输入: [2,2,1,1,1,2,2]输出: 2 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element著作权归领扣网络所有.商业转载请联系官方授权,非商业转载请注明出处.…
题目: 企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%:20万到40万之间时,高于20万元的部分,可提成5%:40万到60万之间时高于40万元的部分,可提成3%:60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 程序分析: 请利用数轴来分界,定位.注意定义时需把奖金定…
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 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"…
class Solution { public: void quick_sort(vector<int>& nums,int res,int res_end) { )//错过,不能小于2 return; int begin=res; int end=res_end; bool flag=true; while(res!=res_end) { if(flag) { if(nums[res]>nums[res_end]) { int temp=nums[res]; nums[res]…
题目: 判断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="…
题目:斐波那契数列. 程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.…… 个人思路及代码: # 方法一:递归 num1 = int(input("输出第几个斐契那波数列数?").strip()) def fib(n): if n == 0 or n == 1: return n else: return fib(n-1)+fib(n-2) print(fib(num1)) ​ # 方法…
题目: 输入三个整数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…
题目: 输入某年某月某日,判断这一天是这一年的第几天? 程序分析: 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天 个人的思路及代码: month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30,31 ] while True: year = input("请输入年份:").strip() month = input("请输入月:").str…