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

53 阅读2分钟

考点介绍:

说到字符串算法我们最先想到的就是模式匹配问题,所谓模式匹配就是字符串匹配问题,就是在一个长的主串中寻找子串的过程,如果我们直接暴力匹配那就是最基本的BF算法;KMP算法与BF算法最大的区别区别就是主串不进行回溯。

本期分享的前端算法考察之字符串,分为试题、文章以及视频三部分。

答案详情解析和文章内容可扫下方二维码或链接即可查看!

一、考点题目

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

A.BufferedWriter
B.FileInputStream
C.ObjectInputStream
D. InputStreamReader

解答: 各用户使用经过特殊挑选的相互正交的不同码型,因此彼此不会造成干扰......

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

解答:\

12 String s1 = ``"你好"``;`` String s2 = ``new String(s1.getBytes(``"GB2312"`` ), ``"ISO-8859-1"``);

3、请实现javascript中的indexOf功能,判断一个字符串a中是否包含另一个字符串b。

a)如果包含,需要返回匹配字符串b的位置
b)如果不包含,需要返回-1
例如 indexOf("hello","el") returns 1;

解答:\

1234567891011121314151617function indexOf(strA, strB) {``    ``var lenA = strA.length,``        ``lenB = strB.length;``    ``if (lenA < lenB) {``        ``return -1;``    `` } ``else if (lenA == lenB) {``        ``return 0;``    `` } ``else {``        ``for (``var j = 0; j < lenA; j++) {``            ``if (strA.charAt(j) == strB[0] && strA.substr(j, lenB) == strB) {``                ``return j;``            ``}``        ``}``        ``return -1;``    ``}``}``console.log(indexOf(``"hello"`` , ``"el"`` )); ``//1

4、给定两个树,判断树2是否为树1的子树,是则返回true

解答: 把一棵树序列化为字符串(字符数组) 如果str2是str1的子串 则T2也是T1的子树......

5、给定一个字符串,如何加最短的字符(只能在原始串的后面进行添加)使其构成一个长的字符串且包含两个原始字符串。

解答: 其实就是最大前后缀长度数组~ e.g. abcabc ---->abcabcabc 最少增加3个......

(答案点击下方链接或者扫海报二维码查看哦)

二、考点文章

1、前端算法精选-字符串系列

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

2、【校招VIP】字符串算法合集

说到字符串算法我们最先想到的就是模式匹配问题,所谓模式匹配就是字符串匹配问题,就是在一个长的主串中寻找子串的过程……

(扫下方海报二维码查看完整版)

三、考点视频

1、前端校招的特点、考点和职业发展

前端是IT校招中目前性价比最高的职位,对所学专业要求不高,考点难度较小,且需求量大……

更多资讯可搜索校招VIP小程序查看哦!
移动端链接:<m.naoffer.com/dTopic/deta…>
PC端链接:<xiaozhao.vip/dTopic/deta…>

校招考点专题宣传单 (2).png