记忆化搜索

记忆化搜索

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

题目链接 数不清的数

原本的代码

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

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

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

相关推荐
To_OC16 小时前
LC 79 单词搜索:都说这是回溯入门题,我却连错三回
javascript·算法·leetcode
问商十三载17 小时前
2026大模型GEO内链优化:3个传导逻辑提权重,零成本提29%收录优先级附布局表
人工智能·算法
Risk Actuary18 小时前
手动示例解释机器学习中 GBDT 算法原理
人工智能·算法·机器学习
Lucis__18 小时前
基于Cache替换算法的LRU缓存实现
数据结构·c++·算法·缓存·lru
血色橄榄枝1 天前
基于用户注册信息的关键词检测挑战赛「Datawhale AI 夏令营」
人工智能·算法·机器学习
c238561 天前
第二篇:《测试指挥官:可视化单题自测框架(含 assert 实操)》
java·数据库·c++·算法·安全性测试
六点_dn1 天前
Linux学习笔记-printf命令
linux·运维·算法
遥感知识服务1 天前
Sentinel-1 + DEM + FwDET + 随机森林:从快速水深初估到多因子误差修正
算法·随机森林·sentinel
来一碗刘肉面1 天前
顺序表与链表的比较
数据结构·算法·链表
alphaTao1 天前
LeetCode 每日一题 2026/7/13-2026/7/19
算法·leetcode