获得徽章 7
赞了这篇文章
赞了这篇文章
#刷题交流# 308. 选择题反选效果分析
`c = len([i for i in range(n) if s[i] == t[i]])`
330. 二进制反码转换问题
位运算!
```
highbit = max((i for i in range(31) if N >= (1 << i)),default=0)
return N ^ ((1 << (highbit + 1)) - 1)
```
342. 充电总时间计算
`return "{:.2f}".format(sum(a) / 4 / x) # format表达;四则运算顺序`
`c = len([i for i in range(n) if s[i] == t[i]])`
330. 二进制反码转换问题
位运算!
```
highbit = max((i for i in range(31) if N >= (1 << i)),default=0)
return N ^ ((1 << (highbit + 1)) - 1)
```
342. 充电总时间计算
`return "{:.2f}".format(sum(a) / 4 / x) # format表达;四则运算顺序`
展开
评论
点赞
#刷题交流# 6. 小E的怪物挑战
- 最长递增子序列问题
- 初筛 `t = [(x, y) for x, y in zip(h, a) if x < H and y < A]`
- 动态规划 `f[i] = max(f[i], f[j] + 1)`
- 返回 `max(f)`
- ❓引申:双/多元素的排序
- 最长递增子序列问题
- 初筛 `t = [(x, y) for x, y in zip(h, a) if x < H and y < A]`
- 动态规划 `f[i] = max(f[i], f[j] + 1)`
- 返回 `max(f)`
- ❓引申:双/多元素的排序
展开
评论
点赞
#刷题交流#
300. 组装电脑
- 计数 + 组合
301. 组队
- 并查集 + 二分查找 + 图论
302. 装饰品丑陋值最小化问题
- 贪心 + 排序 + 绝对值函数 `return max(a) - min(a)`
300. 组装电脑
- 计数 + 组合
301. 组队
- 并查集 + 二分查找 + 图论
302. 装饰品丑陋值最小化问题
- 贪心 + 排序 + 绝对值函数 `return max(a) - min(a)`
展开
评论
点赞
#刷题交流# 161. 外卖超时判断
- 时间戳处理;
- 跨天判断-》应通过第二个时间判断是否跨天
```python
def parse(s: str):
h, m = map(int, s.split(':'))
return h * 60 + m
```
- 时间戳处理;
- 跨天判断-》应通过第二个时间判断是否跨天
```python
def parse(s: str):
h, m = map(int, s.split(':'))
return h * 60 + m
```
展开
评论
点赞
#刷题交流# 97. 最大乘积区间
- 有没有像”最大连续子串和“,0的位置类似于新的起点
- 乘积->对数和->相等用差的绝对值很小操作 abs||<1e-10
- 0的位置需要“剪枝”处理
- ?如果进一步优化,可以针对0和1处理
- 有没有像”最大连续子串和“,0的位置类似于新的起点
- 乘积->对数和->相等用差的绝对值很小操作 abs||<1e-10
- 0的位置需要“剪枝”处理
- ?如果进一步优化,可以针对0和1处理
展开
评论
点赞
#刷题交流# 49. 红包运气排行榜
- 多元素排序
- 注意:一人可以抢多次
`participants_list.sort(key=lambda p: (-p[1], p[2]))`
- 多元素排序
- 注意:一人可以抢多次
`participants_list.sort(key=lambda p: (-p[1], p[2]))`
评论
点赞
#刷题交流# 42. 完美偶数计数
- 简单遍历+判断
- 优化:位操作
- python 列表推导式 `sum(1 for num in a if l <= num <= r and num % 2 == 0)`
- 简单遍历+判断
- 优化:位操作
- python 列表推导式 `sum(1 for num in a if l <= num <= r and num % 2 == 0)`
展开
评论
点赞
#刷题交流# 39. 计算从位置x到y的最小步数
- 数学分析,连续整数->范围内都可以不用考虑达不到
- 模拟循环过程 或者 直接推出答案(自己推导的时候有两个公式条件?
```python
while(1):
if i*i >= distance:
return 2*i - 1
elif i*(i+1) >= distance:
return 2*i
else:
i += 1
```
- 数学分析,连续整数->范围内都可以不用考虑达不到
- 模拟循环过程 或者 直接推出答案(自己推导的时候有两个公式条件?
```python
while(1):
if i*i >= distance:
return 2*i - 1
elif i*(i+1) >= distance:
return 2*i
else:
i += 1
```
展开
评论
点赞
![[熊吉]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_101.dec591d.png)