牛客网Python笔试技巧

提高通过率大原则:

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) 替换字符

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(python)