获得徽章 2
#刷题交流# 今天比较忙,挑个简单的题,递归+空间换时间优化
#刷题交流# 10. 小F的永久代币卡回本计划
这个过于简单,三种方法都可以
#刷题交流# 超市里的货物架调整,这题真的是中等难度吗,我怀疑可能有更好的解法?求大佬指点
#刷题交流# 重新回顾了一下第八题,发现“多数数字一定超过总数一半”这个条件没用上,学到了新的算法:摩尔投票法。用票数抵消策略来专门解决投票超过一半的问题。
#刷题交流# 上午的周赛答不是很好,还需要继续进行系统学习,慢慢加油。
#刷题交流# 用dict存{ 数值: 出现的次数 },定义一个自定义的降序顺序数组[1, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],两层遍历找符合条件的a,b。第一次符合的即为最大的葫芦。
#刷题交流# 4. 数字分组求和
记:dp1[i]为前i项和为奇数的可能数,dp2[i]为前i项和为偶数的可能性。c1为当前项奇数个数,c2为当前项偶数个数。
则状态转移方程:dp2[i] = dp2[i - 1] * c2 + dp1[i - 1] * c1;dp1[i] = dp1[i - 1] * c2 + dp2[i - 1] * c1。
当然可以用滚动数组来优化空间复杂度,这里就不赘述了。
#刷题交流# 学到了:
1. python的切片操作[start:end:step],[::-1]可以翻转字符串或数组,[i:] 是返回切取i之后(包括i)的元素(不改变原变量)
2. for i in range(start, end, step): 遍历,从start遍历到end,包括start但不包括end,step可以控制方向(负数)和步长
3. s.find()找下标
4. is not None 判断非空
5. and 逻辑与运算 即js中的&&,or 逻辑或运算 即js中的||
6. return a if condition else b 如果 condition为真返回a否则返回b
#刷题交流# 简单的题目尝试用python来写,python中代码块不用花括号({ })包裹,而是用缩进和换行来控制代码块的结构,使用冒号(:)来开始一段代码块。
下一页