字符串
一只热爱游戏的猫
崩坏3 - 游戏客户端研发工程师
展开
-
KMP算法模板 - 构建next最长前缀数组 与 kmp核心算法
#include <iostream>#include <string>using namespace std;//构建next最长前缀数组int* getNextArray(const string &sub){ if(sub.length() == 1) {//只有一个字符 return new int[1] {-1}; } int* ne...原创 2018-09-25 22:20:49 · 234 阅读 · 0 评论 -
LeetCode5.最长回文子串————Manacher算法
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: “babad”输出: “bab”注意: &amp;quot;aba&amp;quot;也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”方法一: 动态规划,O(n^2)i 为做指针,j 为右指针。dp[ i ][ j ]指:从i到j位置组成的字串是否回文,回文则1,否则0。若str[ i...原创 2018-11-03 16:56:09 · 419 阅读 · 0 评论 -
LeetCode516. 最长回文子序列 (动态规划)
经典的字符串动态规划,定义两个首尾指针i和j状态初始条件:dp[ i ][ i ] = 1 ( i = 0 到 n - 1)状态转移方程: if( s[ i ] == s[ j ] ):dp[ i ][ j ] = dp[ i + 1 ][ j - 1 ] + 2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;原创 2018-10-31 18:25:52 · 817 阅读 · 0 评论 -
LeetCode.直线上最多的点数 (最大公约数对分数进行约分,自建string作分数)
给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。输入: [ [ 1 , 1 ], [ 2 , 2 ], [ 3 , 3 ] ]输出: 3class Solution {private: //获取斜率 //通过string 构造分数,避免精度不正确 //使用最大公约数化简 分子和分母 string getK(int y, int x) { //y有可能为...原创 2019-05-03 18:04:15 · 435 阅读 · 0 评论