记忆化搜索

记忆化搜索

在递归过程中,有许多分支被反复计算,会大大降低算法的执行效率。用记忆搜索,讲已经计算出来的结果保存起来,以后需要用到直接去除结果,避免重复运算。

题目链接 数不清的数

原本的代码

外面一层t的while循环,里面再计算1-x的的二进制中1的和,时间复杂度是on的三次方,时间复杂度太大了。

看题目的数据范围,只有31个数字,可以讲1-31的全部计算出来保存到数组中去,下面while直接从数组中取数字即可,减少了一层的时间复杂度。

dp[i]就是以i结尾的二进制数字个数,题目需要求的是0-2的n次方

相关推荐
AI绘画哇哒哒16 小时前
AI 智能体长期记忆系统架构设计与落地实践
人工智能·学习·算法·ai·程序员·产品经理·转行
加藤不太惠16 小时前
【无标题】
java·数据结构·算法
金色旭光16 小时前
目标追踪算法+卡尔曼滤波原理+ByteTrack使用
算法
夏乌_Wx16 小时前
练题100天——DAY22:数字拼接+只出现一次的数字
java·数据结构·算法
listhi52016 小时前
MOEAD算法实现详解(基于Python与MATLAB)
python·算法·matlab
李玮豪Jimmy17 小时前
Day32:动态规划part5(完全背包、518.零钱兑换 II、377.组合总和 Ⅳ、70.爬楼梯 (进阶))
算法·动态规划
rit843249917 小时前
基于GA-GM(1,1)模型的航空发电机状态趋势分析实现
算法
CQ_YM17 小时前
数据结构之哈希表
数据结构·算法·哈希算法·哈希表
pursuit_csdn17 小时前
力扣周赛 - 479
算法·leetcode·职场和发展
飞天狗11117 小时前
C. Needle in a Haystack
算法