记忆化搜索

记忆化搜索

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

题目链接 数不清的数

原本的代码

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

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

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

相关推荐
余俊晖11 小时前
英伟达开源多模态视觉语言模型-Nemotron Nano V2 VL模型架构、训练方法、训练数据
人工智能·算法·语言模型·自然语言处理·多模态
2501_9411114611 小时前
C++中的原型模式
开发语言·c++·算法
高洁0111 小时前
国内外具身智能VLA模型深度解析(2)国外典型具身智能VLA架构
深度学习·算法·aigc·transformer·知识图谱
一只会写代码的猫11 小时前
C# 性能优化:从垃圾回收到多线程并发
jvm·算法
学生小羊12 小时前
A. C05.L08.贪心算法入门
算法·贪心算法
AndrewHZ12 小时前
【图像处理基石】图像连通域计算:原理、算法实现与应用全解析
图像处理·算法·计算机视觉·cv·算法原理·视觉算法·连通域计算
Dev7z13 小时前
基于Matlab遗传算法与蚁群算法的风光储并网微电网容量优化研究
算法·matlab·蚁群算法·多能源微电网
一直在努力的小宁13 小时前
《代码随想录-精华内容提取》07 二叉树
数据结构·算法·链表·面试
多彩电脑13 小时前
死循环逻辑检测
数据结构·python·算法·动态规划
cs麦子13 小时前
C语言--详解--冒泡排序(Bubble Sort)
c语言·算法·排序算法