【算法心得】正确估计dfs时间复杂度;剪枝优化不怕重构

https://leetcode.cn/problems/verbal-arithmetic-puzzle/

这题看到题,"表达式中使用的不同字符数最大为 10",就觉得dfs就完事了,最多不过10!,10!才1e6,1e7这样。如果字符再少点,6! 7! 8!的,那简直就是嗖的一下就跑完了

结果TLE了

比方说,有7个字符,不是想象中的 7!,而是 10*9*...*4 ,也就是 A 10 7 A_{10}^{7} A107,省的是1*2*3,不是10*9*8,

今天第一次知道leetcode要pass,是要所有点加起来的时间,而不是单个点的时间

所以没剪枝的dfs顶多能跑完一个半case😅

剪枝吧,刚开始为了能用得上之前的代码,就在之前的dfs前包了一层,先dfs个位的,然后剪,再dfs其他的

结果只能跑完20个case (一共34个)

当时真的绝望了,因为已经调了好久了

后来重新写,发现其实也没那么慢,应该早一点重构的。之前的代码未必和后边的代码兼容,与其改不如直接重新写

相关推荐
GreenTea44 分钟前
发布 3 天登顶 HN:不生成一个字的模型 Jev,我把它的源码和黑料都扒了一遍
前端·后端·算法
庖丁解牛1 小时前
无穷小不是一个“神秘小数”,而是一场奔向 0 的过程
算法
ZPC82102 小时前
YOLO26 识别串番茄果梗
人工智能·深度学习·算法·机器学习
景熙55232 小时前
14.Java 集合框架从入门到源码万字详解(含 ArrayList/LinkedList/HashMap 源码、泛型通配符、红黑树)
java·开发语言·数据结构·算法
aaaameliaaa2 小时前
结构体 结构体
c语言·笔记·算法
有Li3 小时前
【AI答疑】MR数据预处理步骤
人工智能·笔记·算法·语言模型·医学生
盛世宏博北京3 小时前
多传感器数据融合算法:实现档案库房温湿度全域无死角监测
算法·档案温湿度
AgentMaster4 小时前
零售行业智能客服系统怎么选?3 大场景落地与 4 款平台对比实践
大数据·人工智能·算法
远航计算机4 小时前
客服记录怎么变成 AI 会引用的内容?五步清洗法
大数据·人工智能·算法·aigc
码流子5 小时前
几万路监控怎么接:高速公路视频汇聚平台的架构设计与落地坑点
大数据·人工智能·物联网·算法·架构