MoYi123 最近的时间轴更新
MoYi123

MoYi123

V2EX 第 469223 号会员,加入于 2020-02-14 14:02:50 +08:00
今日活跃度排名 2468
MoYi123 最近回复了
14 小时 54 分钟前
回复了 LuckyPocketWatch 创建的主题 程序员 四则混合运算字符串,关于数值替换的问题
1. 化简有未知数的表达式, 可以用 https://github.com/Z3Prover/z3 这种库.
2. 你需要把表达式编译成代码, 把 js 的 jit 利用起来, 有了 jit, 是不是优化表达式就关系不大了. 不过我不懂 js, 不知道该怎么做.
postgresql 可以 update returning, mysql 好像只能开事务或者写存储过程.
@nenseso 成功率还能这么算的? 你是在用纯 udp 协议吗?
专门为你的页面写个接口是没道理的.
可以让后端提供一个能一次性查询多个接口的方法.
大概下面那样.
req
{"data": [{"uri": "get_user", "body": {}}, {"uri": "get_time", "body"}]}
resp
{"data": [{"uri": "get_user", "resp": {"id": "12313"}}, {"uri": "get_time", "resp": "2024-4-29"}]}
“线程池不是应该首先要保证任务完成吗?”

不是, 线程池主要是为了省资源, 减少创建/销毁线程的次数.
你这样做明显会增加创建/销毁线程的次数.
candidates = [10, 20, 20, 30, 40]
target = 45
target1 = 10

from functools import cache

@cache
def dp(idx, count, min_element, max_element):
if idx == len(candidates):
________if count > target and count - min_element < target and count - max_element <= target - target1:
____________print(count, min_element, max_element)
____________return 1
________return 0
____if not count - min_element < target:
________return 0
____ele = candidates[idx]
____pick = dp(idx + 1, count + ele, min(ele, min_element), max(ele, max_element))
____not_pick = dp(idx + 1, count, min_element, max_element)
____return pick + not_pick


print(dp(0, 0, 4e18, 0))


O(n^3 * target) 只有方案数, 具体方案是什么你自己改一下.
要在编译期算运行期的值只能打表啊, 这也没办法.
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1489 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 23:51 · PVG 07:51 · LAX 16:51 · JFK 19:51
Developed with CodeLauncher
♥ Do have faith in what you're doing.