记忆化搜索

记忆化搜索

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

题目链接 数不清的数

原本的代码

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

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

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

相关推荐
努力学算法的蒟蒻1 天前
day09(11.6)——leetcode面试经典150
算法·leetcode·职场和发展
2301_796512521 天前
Rust编程学习 - 内存分配机制,如何动态大小类型和 `Sized` trait
学习·算法·rust
卿言卿语1 天前
CC23-最长的连续元素序列长度
java·算法·哈希算法
天选之女wow1 天前
【代码随想录算法训练营——Day60】图论——94.城市间货物运输I、95.城市间货物运输II、96.城市间货物运输III
android·算法·图论
Blossom.1181 天前
大模型在边缘计算中的部署挑战与优化策略
人工智能·python·算法·机器学习·边缘计算·pygame·tornado
时间醉酒1 天前
数据结构:双向链表-从原理到实战完整指南
c语言·数据结构·算法
京东零售技术1 天前
当搜索遇见 AIGC:京东零售的“千人千面”素材生成实践
算法
好学且牛逼的马1 天前
【HOT100|1 LeetCode 1. 两数之和】
数据结构·算法·leetcode
Nebula_g1 天前
C语言应用实例:斐波那契数列与其其他应用
c语言·开发语言·后端·学习·算法
不穿格子的程序员1 天前
从零开始刷算法-单调栈-每日温度
算法·单调栈