当前位置:网站首页>leetcode:241. 为运算表达式设计优先级【dfs + eval】
leetcode:241. 为运算表达式设计优先级【dfs + eval】
2022-07-01 12:35:00 【白速龙王的回眸】

分析
每次选择其中的a ? b进行加一对括号
知道用完所有运算符
然后放入一个set中防止运算式子相等即可
ac code
class Solution:
def diffWaysToCompute(self, expression: str) -> List[int]:
ans = []
operators = ('+', '-', '*')
def countOperator(s):
cnt = 0
for c in s:
if c in operators:
cnt += 1
return cnt
s = set()
def dfs(nums, ops):
if len(nums) == 1:
s.add(nums[0])
return
# 选一个进行计算
for i in range(len(nums) - 1):
new_num = '(' + nums[i] + ops[i] + nums[i + 1] + ')'
new_nums = nums[:i] + [new_num] + nums[i + 2:]
new_ops = ops[:i] + ops[i + 1:]
dfs(new_nums, new_ops)
# pattern要按ascii码
nums = re.split('[*+-]', expression)
ops = []
for c in expression:
if c in operators:
ops.append(c)
dfs(nums, ops)
return [eval(exp) for exp in s]
总结
dfs来选可以选的地方
re.split来区分符号和数字,主要要根据ascii码的顺序
然后最后通过eval计算所有不同式子的结果即可
边栏推荐
- AI抠图工具
- Ansible的playbook
- 微信模拟地理位置_伪装微信地理位置
- Virtualenv+pipenv virtual environment management
- 微信小程序 – 80个实用的微信小程序项目实例
- Relationship between accuracy factor (DOP) and covariance in GPS data (reference link)
- 【datawhale202206】pyTorch推荐系统:多任务学习 ESMM&MMOE
- 天青色等烟雨
- Wechat simulated geographical location_ Camouflage wechat location
- 2022-06-28-06-29
猜你喜欢
![[datawhale202206] pytorch recommendation system: precision model deepfm & DIN](/img/4f/8799016731a2c1647b6f2f4d96b754.png)
[datawhale202206] pytorch recommendation system: precision model deepfm & DIN

Chapter 14 signals (IV) - examples of multi process tasks

双链表有关操作

使用nvm管理nodejs(把高版本降级为低版本)

【语音信号处理】3语音信号可视化——prosody

How to install php7 and perform performance test using yum
![[Suanli network] technological innovation of Suanli Network -- key technology of operation service](/img/80/6e3648c88d309516d4bc29db9c153c.jpg)
[Suanli network] technological innovation of Suanli Network -- key technology of operation service

顺序表有关操作

Typora realizes automatic uploading of picture pasting

redis探索之缓存一致性
随机推荐
List of QT players [easy to understand]
[datawhale202206] pytorch recommendation system: precision model deepfm & DIN
[JS advanced] promise explanation
Digital signal processing -- Design of linear phase (Ⅱ, Ⅳ) FIR filter (2)
Question d'entrevue de Huawei: recrutement
【脑洞大开】《西潮》及《走向世界丛书》
6.30模拟赛总结
【邂逅Django】——(二)数据库配置
VS Code 设置代码自动保存
简单斐波那契(递推)
A hole in solder paste
【datawhale202206】pyTorch推荐系统:多任务学习 ESMM&MMOE
手把手教你完成图像分类实战——基于卷积神经网络的图像识别
Wechat simulated geographical location_ Camouflage wechat location
6.30 simulation summary
Blocking sockets的读写操作该怎么玩?
ustime写出了bug
Onenet Internet of things platform - create mqtts products and devices
Ansible Playbook
Relationship between accuracy factor (DOP) and covariance in GPS data (reference link)