![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
华为机试OD
唐林3438
生活本来就不容易,好好珍惜现在的时光吧!
展开
-
华为OD机试--求解一个连续递增数列,使得长度为k的数列之和为num
给定一个整数num和一个数字k,求解一个连续递增数列,使得长度为k的数列之和为num,存在该数列时输出数列,不存在时输出-1例如:输入:525 6输出:85 86 87 88 89 90输入:6 3输出:-1分析: 因为是连续数值,所以对应的连续数值肯定在【(525//6)-6, (525//6)+6】s = "3 3"Flag = 0num, k = map(int, s.split())starts = (num//k)-kends = (num//k)+kfor x原创 2022-05-28 19:41:26 · 829 阅读 · 0 评论 -
华为OD机试--给一个纯数字字符串,和一个数字k,求该字符串删掉k个数字后组成数字的最小值
给一个纯数字字符串,和一个数字k,求该字符串删掉k个数字后组成数字的最小值输入:26153714输出:131s = "2615371"k = 4import itertoolsimport operator ll = list(itertools.combinations(s, len(s)-k))ll1 = sorted(ll, key=operator.itemgetter(0,1,2))#print(ll1)print("".join(ll1[0]))...原创 2022-05-28 19:24:30 · 492 阅读 · 0 评论 -
华为OD机试--记录连续的相同字符的出现次数,并按出现次数排序
给一个只包含大写字母的字符串,(字符串长度大于0),和一个数字k,记录连续的相同字符的出现次数,并按出现次数排序,输出排第k位的字母的出现次数,不存在时输出-1(如果一个字母出现多次则只保留最高次数的记录,如果几个字母出现次数相同则按原字符串的出现顺序排序)输入:AAAHHHHBHHHDDCCC3输出:3Strs = "AAAHHHHBHHHAAAADDCCC"k=3index = 0 #利用双指针法比较HashMap = dict()for i in range(len(Str原创 2022-05-28 19:21:23 · 601 阅读 · 0 评论 -
华为OD机试--路灯覆盖问题
一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间的距离是100m。每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,未照明区间的长度和。输入描述:第一行为一个数N,表示灯的个数,[1, 100000]第二行为N个空格分隔的数,表示路灯的照明半径,[1, 100*100000]输出描述:第一个路灯和最后一个路灯之间,未照明区间的长度和举例:输入:810 10 10 10 10 10 10 10输出:560输入:810 10 10 250 10 10 10 .原创 2022-05-28 18:27:40 · 4786 阅读 · 4 评论