
算法题详解
文章平均质量分 88
CCTV果冻爽
这个作者很懒,什么都没留下…
展开
-
剑指offer算法题之替换空格
题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 题目分析:看到这个题目第一个想到的就是从头开始遍历,遇到空格就用“%20”替换“ ”,但是发现“%20”占用3个字节的空间,而“ ”只占用一个字节的空间,因此不能够直接替换,那么在遇到一个空格的时候,我们将后面的所有字原创 2017-10-26 09:10:54 · 199 阅读 · 0 评论 -
剑指offer算法题之二维数组查找(一步一步优化)
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 题目分析:题目表述的二维数组中,每一行是递增,每一列也是递增,首先我们想到的就是暴力搜索,即从二维数组的[0][0]元素开始一直往后遍历,直到发现有一个数与给定的数相等时,就可以结束遍历,返回真原创 2017-10-25 17:27:39 · 513 阅读 · 0 评论 -
KMP算法笔记
KMP算法是一种快速的字符串匹配算法,我们先从暴力字符串匹配算法讲起看怎么对其优化得到KMP算法。 1、暴力字符串匹配 有如下两个字符串:A:“abcabbcabc”和B:“adfabcabccabcadbcabca”,我们要在B中找到A的匹配位置,暴力匹配的做法就是:把A的第一个元素与B的第一个元素对齐并开始往后遍历比较,遍历的过程中只要有一个字符不匹配,则将原创 2017-12-07 10:34:50 · 260 阅读 · 0 评论