题目 leetcode:5. Longest Palindromic Substring 解法 动态规划 时间复杂度\(O(n^2)\),空间复杂度\(O(n^2)\) 基本解法直接看代码 中心扩散法 时间复杂度\(O(n^2)\),空间复杂度\(O(1)\) 我们先假定以某点 ...
什么是中心扩散法 中心扩散法,顾名思义就是以某一个位置为中心,向周围扩散,直到满足条件或到达边界。 Leetcode .最长回文子串 题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 。 示例 :输入: babad ,输出: bab ,注意: aba 也是一个有效答案。 示例 :输入: cbbd ,输出: bb 解题思路:遍历s,以每个char以及两个char ...
2019-07-07 12:40 0 576 推荐指数:
题目 leetcode:5. Longest Palindromic Substring 解法 动态规划 时间复杂度\(O(n^2)\),空间复杂度\(O(n^2)\) 基本解法直接看代码 中心扩散法 时间复杂度\(O(n^2)\),空间复杂度\(O(1)\) 我们先假定以某点 ...
1.回溯法算法思想: 定义: 回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点 ...
哈希表的链地址法来解决冲突问题 将所有关键字为同义词的记录存储在同一个线性链表中,假设某哈希函数产生的哈希地址在区间[0, m - 1]上,则设立一个至振兴向量 Chain ChainHash[m]; 数据结构 构造哈希表,输入为头结点指针的引用 ...
分治法基础 分治法(Divide and Conquer)顾名思义,思想核心是将问题拆分为子问题,对子问题求解、最终合并结果,分治法用伪代码表示如下: 分治法简单而言分三步 Divide、Conquer、Combine,图示如下: 和动态规划、贪心等一样,分治法 ...
枚举法的本质就是从全部候选答案中去搜索正确的解,使用该算法须要满足两个条件: 1、能够先确定候选答案的数量。 2、候选答案的范围在求解之前必须是一个确定的集合。 枚举是最简单。最基础。也是最没效率的算法 枚举法长处 ...
第一章:概述 1. 数据和数据结点 数据是对客观事物的描述形式和编码形式的统称。 数据是由数据元素组成的,数据元素又称为数据结点,简称结点。 每个数据元素又包括多个数据项,每个数据项又称为结点的域,其中,用来唯一标识结点的域称为关键字。 2.数据结构、逻辑结构 ...
算法引入 执行结果 另一种算法 执行结果 算法的概念 算法是独立存在的一种解决问题的方法和思想 算法的特性: 输入 输出 有穷性 确定性 可行性 算法效率衡量 时间复杂度 基本运算数量个数 T1 = O(n^3) T2 = O(n ...
数据结构+算法 (原创:黑小子-余) 前言:小编我从小数学并不好,每次考试都是特码分数,跟小伙伴比算数也常常慢一拍,父亲常常恨子不成器。从小就不自信的我,觉得自己智商总比别人差一点,直到成年后,我发现真是如此,每个夜深人静的时候,深深地怀疑自己,哈哈!其实,小编我是一个很正能量的人,虽然踏出 ...