海康测开
选择题
编程
合并两个有序列表
剑指 Offer 53 - II. 0~n-1中缺失的数字
奇安信python服务端开发 9.02下午
编程
爬楼梯
力扣 分发糖果
bilibili测开笔试 9.04晚
美团笔试
数组交并集,差集,不超时用set
list_1 = [1,2,5,7,9]
list_2 = [2,4,6,9]
union = list(set(list_1)&set(list_2)) # 交集,[9, 2]
intersection = list(set(list_1)|set(list_2)) # 并集,[1, 2, 4, 5, 6, 7, 9]
minus = list(set(list_1)-set(union)) # 差集,[1, 5, 7]
异或计算式 超时 50%
贝壳笔试9.07下午
两道水题,分别用字典和暴力
快速幂
def pow(base,n):
res=1
while n:
if n&1:
res*=base%1000000007
base*=base%1000000007
n=n>>1
return res
快速幂取模
T=int(input())
for i in range(T):7
n,m=map(int,input().strip().split())
print(m*pow(m-1,n-1)%1000000007)
【例1】
输入
2 2
00
00
输出
2
【例2】
输入
5 4
0110
1001
0010
0100
1000
输出
1
说明
让奶牛2学习特长即可
小米笔试9/8晚
力扣二叉树寻路 位运算原题
第二题 扑克牌排序 只有把JQKA2这几个特殊值记下出现次数,和正常值分别排序。
深信服Python开发9.10晚
1、Python可变数据与不可变数据
py标准内置数据类型:
Number(整型int, 浮点型float, 布尔型bool, 复数complex)
String
List
Set
Dictionary
可变数据和类型:可改变变量的值,且不会新建对象。 List, Set, Dictionary
不可变数据类型:不允许变量的值发生改变,发生改变时会新建对象。 Number, String, Tuple
2、set里面需要是不可变数据
编程
1、约瑟夫环 剑指62圆圈中剩下的数字
2、力扣删除字符串中的所有相邻重复项 +额外有炸弹限制条件,
如果两个相邻重复元素是炸弹,他们消除,同时他们左右两个元素也被炸掉。
用栈的思路,类似于有效的括号那题。 单调栈是什么???
class Solution:
def make_cancellation(self , content , bomb ):
# write code here
stack=[]
flag=False
for i in content:
if flag:
if stack:
stack.pop()
flag=False
continue
if not stack:
stack.append(i)
else:
if i == stack[-1]:
stack.pop()
if i==bomb:
flag=True
else:
stack.append(i)
return ''.join(stack)
a=Solution()
print(a.make_cancellation("132112345","1")) ## 145