【校招VIP】前端算法之字符串算法

04月24日 收藏 0 评论 1 前端开发

【校招VIP】前端算法之字符串算法

考点介绍:

BF算法,是Brute Force(暴力算法)的缩写,是一种字符串匹配算法,算法步骤如下。

问题:两个字符串a和b,判断b是否是a的子串,如果是请返回b在a中第一次出现的位置。

1.第一轮,从字符串a的首位开始,把a和b的字符逐个比较,a的首位字符是a,b的首位字符是b,不匹配。

2.第二轮,把字符串b后移动一位,从a字符串第二位开始逐个对比。a串的第二位和b串的第二位都是b,继续比较,a串的第三位(b)与b串的第三位(c)不匹配。

3.第三轮,再把b串往后移动一位,从a串的第三位开始,与b串依次逐个比较。a串的第三位字符是b,b串的第三位字符也是b,第四位字符是c,b串的第四位字符也是c,第五位都是e,两者匹配

比较完成。由此得出的结论是b串是a串的子串,在主串中第一次出现的位置下标是2。

答案详情和文章内容扫描海报二维码或者点击文末链接查看!

一、考点题目

1.字符串转为整数 (parseInt的实现),比如”+0123”转换为123 

解答: 核心思路比较简单,从字符串的左边往右逐一计算,前面的数a*10+ 当前位的值b,那考查点在哪?……

2.字符串反转, 如“abcdefg”变为“gfedcba”,要求空间复杂度为O(1), 时间复杂度尽量低

解答:交换的两个指针不方便作为递归参数 .……

3.下面哪个流类属于面向字符的输入流( )

A.BufferedWriter

B.FileInputStream

C.ObjectInputStream

D. InputStreamReader

解答:正确答案是 D,Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式。……

4. 怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?

解答:String s1 = "你好";String s2 = new String(s1.getBytes("GB2312"), "ISO-8859-1");……

二、考点文章

1.字符串有关算法(JS实现)

判断回文字符串,翻转字符串,生成指定长度随机字符串,统计字符串中次数最多字母……

2.常用字符串算法

巧用数组下标实现,把用字符的ASCII码值当作下标,记录出现的字符,然后对两字符串进行遍历。一、判断两个字符串是否包含相同的内容……

3.前端算法精选-字符串系列

很多前端工程师甚至很多研发工程师都缺乏数据结构和算知识,前端算法精选系列是一个针对常见的、高频的算法题做的一个算法解析系列,文章会给出详细的思路和解答,希望可以帮助到你。

三、考点视频

直接插入排序和最佳复杂度

本题是校招的常见考点之一,这里考察的是简单排序的直播插入排序。首先要对熟悉排序算法本身,不要把选择和插入搞混。其次是针对每一轮的排序,考虑最少的比较次数是多少

(考点视频扫海报二维码即可查看)

pc端专题链接: https://xiaozhao.vip,/dTopic/detail/238

移动端专题链接:https://m.xiaozhao.vip/dTopic/detail/238


C 1条回复 评论
摔伤脚踝的流星

这是我一直没记住的一个重点

发表于 2022-06-09 21:00:00
0 0