牛客网刷题
双子叶mm
这个作者很懒,什么都没留下…
展开
-
牛客网HJ21 简单密码Python3解法
题目:题目分析:密码字符串组成字符主要分成三种:大写字母、小写字母、非字母,处理方式如下:①大写字母,要先转成小写,再往后移一位;(注意,'Z'转成'z',后移一位是'a')②小写字母,转成手机上九宫格对应的数字;③非字母,不做处理。解题方法:n = input()li = []for i in n: if 'A'<=i<'Z': li.append(chr(ord(i.lower())+1)) elif i == 'Z':.原创 2021-09-12 09:01:05 · 278 阅读 · 0 评论 -
牛客网HJ14 字符串排序Python3解法
题目:示例一:9captocatcardtwotooupboatboot输出:boatbootcapcardcattotootwoup解题方法:n = int(input())li = []# 循环接收n个字符串,并添加到列表li里for i in range(n): li.append(input()) # 将列表li重新排序,并依次输出for i in sorted(li): print(i)...原创 2021-09-10 23:45:53 · 162 阅读 · 0 评论 -
牛客网HJ10 字符个数统计Python3解法
题目:解题方法:s = input()# 创建一个列表lili = []for i in s: # 对字符串s进行逐个字符检查, # 如果字符对应ascii码值不在列表li里,并且在0~127之间,就加进列表li里,否则不操作 if ord(i) not in li and 0<=ord(i)<=127: li.append(ord(i))print(len(li))ord()方法:使用ord('a')方法可查出字符a的asc..原创 2021-09-10 23:32:08 · 189 阅读 · 1 评论 -
牛客网HJ9 提取不重复的整数Python3解法
解法:n = input()# 先将输入字符逆序翻转一下,再int()转成整型去掉n末尾可能有的0,再str()转回字符型s = str(int(n[::-1]))li = []for i in s: # 判断字符串s里是否已有某个字符,没有则加到列表里并打印,有则直接跳到下一个字符 # 用于数字去重 if i not in li: li.append(i) print(i, end='')...原创 2021-09-08 22:36:35 · 215 阅读 · 0 评论 -
牛客网HJ8 合并表记录Python3解法
题目:解题方法:n = int(input())dic = {}# 接收输入的n组键值对for i in range(n): index = input().split(' ') key = int(index[0]) value = int(index[1]) # 判断列表里是否已有新接收输入的key,没有则加到列表里,有则将值叠加 if key not in dic: dic[key] = value else:..原创 2021-09-08 00:21:05 · 302 阅读 · 0 评论 -
牛客网HJ12 字符串反转Python3解法
解法一:n = input()print(''.join(reversed(n)))解法二:n = input()print(n[::-1])题目类型和上一题“HJ11 数字颠倒”差不多,方法相关介绍见:https://blog.csdn.net/qq_29349463/article/details/120115446?spm=1001.2014.3001.5501...原创 2021-09-05 23:12:42 · 124 阅读 · 0 评论 -
牛客网HJ11 数字颠倒Python3 解法
解法一:n = int(input())print(''.join(reversed(str(n))))解法二:n = int(input())print(str(n)[::-1])涉及到的一些方法:join(): s.join(seq)表示用s字符来连接seq里的多个元素。seq = ['r', 'u', 'n']print('-'.join(seq))# 输出:r-u-nprint(''.join(seq))# 输出:runreverse():将...原创 2021-09-05 15:54:49 · 392 阅读 · 0 评论 -
牛客网HJ15 求int型正整数在内存中存储时1的个数Python3解法
一开始的解法:n = int(input())# 切片去掉二进制数前面的"0b",比如n=5,bin(n)就是'0b101',去掉'0b'就是'101's = bin(n)[2:]c = 0for i in range(len(s)): if s[i] == '1': c += 1print(c)python切片需要注意的地方:①str[-1]表示取字符串最后一个字符;而str[:-1]表示取除了字符串最后一个字符以外的所有字符,不包括最后一个字符...原创 2021-09-05 14:56:50 · 183 阅读 · 0 评论 -
牛客网HJ7 取近似值Python3解法
刚开始的解法:n = float(input())# 将n乘以10,再对10取余,看余数是小于5则直接用int(),否则+1if int(10 * n) % 10 < 5: n = int(n)else: n = int(n)+1print(n)看了下排行榜前几的方法,直接对n+0.5,再取整;想了下,如果n小数部分小于5,比如4.4,那么加0.5之后不会大于5,取整是4,如果n小数部分大于等于5,比如4.5,那么加0.5之后大于等于5,取整是5。...原创 2021-09-04 10:17:17 · 181 阅读 · 0 评论 -
牛客网HJ6 质数因子Python3解法
题目介绍:解题思路:1.暴力破解,时间复杂度高就是从2一直除到N-1,每次能整除,则把整除后的商重新赋值给N。但是执行的时间复杂度O(n),当质数比较大,如10007时,效率就太低了。2.试除法求一个数N的质数因子,有两种可能:①N本身就是质数②存在N=a*b(a、b为质数),那么肯定有1≤a≤b≤N,那么a、b必然都是N的质数因子,即找到a就已知b()也是N的质数因子,这样可推知当a=b=时,就不用了再往后去找N的质数因子了。相比暴力破解,这个方法的时间复杂度就..原创 2021-09-02 00:10:06 · 1021 阅读 · 2 评论 -
Python进制转换
和十进制之间的直接转换二进制转十进制n = input()# int(x, base=10), base表示x为几进制# 该方法用于将字符串或数字转换成整型print(int(n, 2))输入:0b10110输出:22八进制转十进制n = input()# int(x, base=10), base表示x为几进制# 该方法用于将字符串或数字转换成整型print(int(n, 8))输入:0o26输出:22十六进制转十进制n = input()原创 2021-08-30 21:06:48 · 1018 阅读 · 0 评论 -
牛客网HJ4 字符串分隔Python3解法
题目介绍:个人解法:import rewhile True: try: str = input() l = len(str) # 判断字符长度,如果不是8的倍数,将其补成8的倍数 if l%8 != 0: l = (l//8 + 1)*8 # 用0补齐字符串 s = str.ljust(l, '0') # 用正则表达式分割字符串 ..原创 2021-08-29 16:51:15 · 218 阅读 · 0 评论 -
牛客网HJ3 明明的随机数Python3解法
题目介绍:示例一 输入 输出 3 2 2 1 11 10 20 40 32 67 40 20 89 300 400 15 1 2 10 15 20 32 40 67 89 300 400 说明:先输入3,然后输入3个随机整数2、2、1,这是一组测试用例;再输入11,然后输入.原创 2021-08-29 10:41:37 · 863 阅读 · 0 评论 -
牛客网HJ2 计算某字母出现次数Python3解法
题目介绍:个人解法:str1 = input()str2 = input()c = 0for i in str1: # 第一行第二行字符全部转成小写,然后再对比 if i.lower() == str2.lower(): c += 1print(c)写完之后,看到评论区一个极其简短的解法:str1 = input().lower()str2 = input().lower()print(str1.count(str2))涉及到的方法..原创 2021-08-28 20:57:06 · 170 阅读 · 0 评论 -
牛客网HJ1 字符串最后一个单词的长度Python3解法
import rea = input()# 字符串非空,且长度要小于5000字符if len(a) > 5000 or len(a) == 0: print("输入字符串要求非空且小于5000")else: # 将字符串按照空格分割,找出最后一个字符串 b = a.split(str(" "))[-1] # 如果最后一个字符串全部为字母,则直接输出该字符串长度 if b.isalpha() == True: prin...原创 2021-08-28 19:45:31 · 274 阅读 · 0 评论