- 博客(5)
- 收藏
- 关注
原创 华为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 = 0 num, k = map(int, s.split()) starts = (num//k)-k ends = (num//k)+k for x
2022-05-28 19:41:26
889
原创 华为OD机试--给一个纯数字字符串,和一个数字k,求该字符串删掉k个数字后组成数字的最小值
给一个纯数字字符串,和一个数字k,求该字符串删掉k个数字后组成数字的最小值 输入: 2615371 4 输出: 131 s = "2615371" k = 4 import itertools import 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
597
原创 华为OD机试--记录连续的相同字符的出现次数,并按出现次数排序
给一个只包含大写字母的字符串,(字符串长度大于0),和一个数字k, 记录连续的相同字符的出现次数,并按出现次数排序,输出排第k位的字母的出现次数,不存在时输出-1 (如果一个字母出现多次则只保留最高次数的记录,如果几个字母出现次数相同则按原字符串的出现顺序排序) 输入: AAAHHHHBHHHDDCCC 3 输出: 3 Strs = "AAAHHHHBHHHAAAADDCCC" k=3 index = 0 #利用双指针法比较 HashMap = dict() for i in range(len(Str
2022-05-28 19:21:23
662
原创 华为OD机试--路灯覆盖问题
一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间的距离是100m。每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,未照明区间的长度和。 输入描述: 第一行为一个数N,表示灯的个数,[1, 100000] 第二行为N个空格分隔的数,表示路灯的照明半径,[1, 100*100000] 输出描述: 第一个路灯和最后一个路灯之间,未照明区间的长度和 举例: 输入: 8 10 10 10 10 10 10 10 10 输出: 560 输入: 8 10 10 10 250 10 10 10 .
2022-05-28 18:27:40
4929
4
原创 lua小结
1.JIT可以编译优化清单 http://wiki.luajit.org/NYI 2.lua数组的下标是从1开始的 在没有指定赋值的情况下。C语言的数组下标是从0开始的。 3.逻辑表达式and or not用法 local a = b and C or d 在不确定C是否为真的情况下不要使用,会产生歧义
2017-12-28 10:59:13
374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人