zoukankan      html  css  js  c++  java
  • 算法:(五)字符串

    (一)字符串题目的特点

    ①广泛性

    • 字符串可以看作字符类型的数组,与数组的排序、查找、调整有关
    • 很多其他类型的题可看作字符串类型的题

    ②需要掌握的概念

    • 回文
    • 子串(连续)
    • 子序列(不连续)
    • 前缀树(Trie树)
    • 后缀树和后缀数组
    • 匹配
    • 字典序

    ③需要掌握的操作

    • 与数组有关的操作:增删改查
    • 字符的替换
    • 字符串的旋转

    (二)字符串题目的常见类型

    ①规则判断

    • 判断字符串是否符合整数规则
    • 判断字符串是否符合浮点数规则
    • 判断字符串是否符合回文字符串规则

    ②数字运算

    • int和long类型表达整数范围有限所以经常用字符串实现大整数,与大整数相关的加减乘除操作,需要模拟笔算的过程

    ③与数组操作有关的类型

    • 数组有关的调整、排序等操作
    • 快速排序的划分过程要掌握和改写

    ④字符计数

    • 哈希表
    • 固定长度的数组(C/C++256长度,JAVA65536长度)
    • 滑动窗口问题、寻找无重复字符子串问题、计算变位词问题

    ⑤动态规划类型

    • 最长公共子串
    • 最长公共子序列
    • 最长回文子串
    • 最长回文子序列

    ⑥搜索类型

    • 深度优先搜索
    • 宽度优先搜索

    ⑦高级算法与数据结构解决的问题

    • Manacher算法解决最长回文子串问题
    • KMP算法解决字符串匹配问题
    • 前缀树结构
    • 后缀树和后缀数组
  • 相关阅读:
    111
    关于Node.js中安装完express后不能使用express命令
    vscode tab转空格
    【终端使用】rm命令,删除文件获目录
    WebStorage是什么?
    Vue路由传参
    --save 和 --save-dev的区别
    第五篇,理解JS模块化编程思想
    第四篇,JavaScript面试题汇总
    第三篇,ajax 和 axios、fetch的区别
  • 原文地址:https://www.cnblogs.com/M-M-Monica/p/10122569.html
Copyright © 2011-2022 走看看