牛客网Python笔试技巧

霸气de小男生 提交于 2020-01-07 11:57:24

提高通过率大原则:
1.本地IDE调代码的速度更快

2.修改已>0%的代码比新做一道题更快

3.一定要看清题意!!!

 

提高通过率的技巧:
1.时间复杂度问题:增加条件break或continue出循环,能break尽量break;

                                减少不必要的判断条件(比如在不在字典中);

                                做一些排序来减少后期的工作量

2.空间复杂度问题:

3.边界条件:某些数据是不是始终存在

测试用例通过但0%的原因:
1.没有理解题意

 

 

输入
第一行说明nmp这种数据量,最后一个参数一般为第二行开始有几行,且是字符型的数据输入,可以按下面的方法进行输入处理。

第一行:

a,b,c=[int(i) for i in input(0.solit()]

第二行:

info=[]

for i in range(c):

    info.append([int(i) for i in input().split()])

不用input()的话也可以用sys.stdin.readline().strip()

 

 

 

输出
一般逐行打印

for i in result:

    print(i)

 

常用数据结构
list和dict比较好用,不能导入numpy库

list:做整体的排序

dict:做局部的排序,要在单个条件下xxx

 
常用函数
list
min() max() sum() .index()

.remove(具体内容)  .pop(索引号)    del a[索引号]

.sort(key=lambda x: x[0])

.sort(key=lambda x:(-x[1],x[0],x[2]))#默认是升序,加个符号变降序,可做多级排序。

sorted()#不在本地做排序

元素 in list名称

变量
float('inf')无穷大 

字典
.keys()

.values()

.items()#返回的是元组

 

字符串
.strip() 去除首位空格

.strip().strip(‘-a’)去除首位空格和字符

S[:3]+S[5:] 拼接字符串,去除某个字符

.replace(‘a’,’b’) 替换字符

re.sub(‘a’,’b’,s) 替换字符
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!