如何解决缺少特定算法思维的问题?

一般来说,面对一道算法题,首先我们先需要对题目进行拆解,寻找到解题思路。

针对这道题,一开始可能想到的解决办法是直接用暴力法。即尝试所有可能的连续子序列,计算它们的和,然后找到最大的和;这是最简单也是最直接的思路。但暴力法存在一个很大的问题,就是它的时间复杂度较高,为 O(n²) ,很明显这不是最有效解决方法!它也不是题目考察的重点,题目真正想考察的是动态规划,是一种很常见的算法思维模型。此时又产生了新的疑问,怎么知道它考的是动态规划这个算法思维模型呢?这就跟下面这个问题有关。

如何解决无法完全理解题目的问题?

前文中提到此题是考察动态规划的,但又是如何分辨出此题是考察动态规划的呢?其实,这跟对题目的理解程度有关,需要学会在题面中寻找关键信息

首先,注意题目里这句话:

其次,注意题目给出的三个示例:

以上两点都在暗示此题是涉及多个重叠的子问题以及寻找最优子结构的情况。而这两点正是动态规划最明显的两个特征和模式。

相关推荐
yuan199971 小时前
基于人工神经网络(ANN)的独立成分分析(ICA)算法
算法
代码地平线1 小时前
C++ 入门篇类和对象·上篇:从本质深剖类与对象与C++基本用法
c语言·开发语言·数据结构·c++·笔记·算法
Hali_Botebie1 小时前
期望最大化算法,Expectation-Maximization Algorithm
算法
weixin_468466851 小时前
通义千问核心能力与实战表现深度评测
人工智能·深度学习·算法·ai·大模型
菜菜的顾清寒1 小时前
力扣HOT100(48)图论-腐烂的橘子
算法·leetcode·图论
Ulyanov1 小时前
深入QML滑块与进度控制:构建动态数据可视化界面:QML+PySide6现代开发入门(六)
开发语言·python·算法·ui·信息可视化·雷达电子对抗仿真
星马梦缘1 小时前
ACM笔记 学习版本
数据结构·c++·算法
CQU_JIAKE1 小时前
6.1【A】
算法
wayz111 小时前
Momentum:CTI(相关趋势指标)技术指标详解
算法·金融·数据分析·量化交易·特征工程