算法面试
一共7篇文章
专题:第1期
-
JavaScript实现DFA敏感词过滤算法
DFA:Deterministic Finite Automaton,也就是确定有穷自动机。其特征为:有一个有限状态集合和一些从一个状态通向另一个状态的边,每条边上标记有一个符号,其中一个状态是初态,某些状态是终态。 这个描述有点难懂,我用一段白话来说明一下:你有一个集合,集合内的每一个元素都标明了自己的状态,通过你已知的某些事件,你可以从当前元素的状态得到下一个状态,从而知道下一个元素是啥,即e…...- admin
- 62
- 0
-
字符串中数字子串的求和
//字符串中数字子串的求和 public class NumSum{ //字符串中数字子串的求和 public static int numSum(String str) { if(str==null) { return 0; } //字符串转换成数组 char[]charArr=str.toCharArray(); int res=0;//目前的累加和 int num=0; //当前收集到的数字…...- admin
- 103
- 0
-
判断两个字符串是否为互为变形词
题目描述: 给定两个字符串str1和str2,如果str1和str2中出现的字符种类一样且每种字符出现的次数也一样,那么str1与str2互为变形词。请实现函数判断两个字符串是否互为变形词。 举例: str1=“123” ,str2=“231”,返回true str1=“123” ,str2=“2331”,返回false 这个题目不难,考察代码实现能力 首先判断长度 然后 利用字符编码 最大255…...- admin
- 86
- 0
-
设计一个有getMin功能的栈
【题目】实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作【要求】1.pop、push、getMin操作的时间复杂度都是O(1)2.设计的栈类型可以使用现成的栈结构 【解答】:在设计上使用两个栈,一个栈用来保存当前栈中的元素,记为stackData;另外一个栈用于保存每一步中的最小值,记为stackMin。 /*方案1*/ public class MyStack1{ /*…...- admin
- 62
- 0
-
58同城大数据开发社招面经(附答案)
今天为大家分享一篇 58 同城大数据开发(流计算方向)社招的面经,附上答案。 面试方式通过项目来引出提问的知识点,主要考察面试人员对项目的理解能力以及背后涉及的原理。 面试时间:50 分钟 面试方向:大数据开发(流计算方向) 面试工具:微信视频面 面试难度 :⭐⭐⭐ 面试环节 1 面试官:请简短的做个自我介绍。 面试官,您好!我叫 xxx , xxxx 年 x 月毕业于 xxx 学校,xx 学历,…...- admin
- 83
- 0
-
如何设计百万人抽奖系统……
今天分享一个粉丝在美团二面遇到的问题——如何设计一个百万人抽奖系统? 思维导图 导图按照由浅入深的方式进行讲解,架构从来不是设计出来的,而是演进而来的 从一个几百人的抽奖系统到几万人,再到百万人,不断增加新的东西。 最后总结归纳一套设计思想,也是万能模板,这样面试官问任何高并发系统,只需从这几个方向去考虑就可以了。 V0——单体架构 如果现在让你实现几十人的抽奖系统,简单死了吧,直接…...- admin
- 78
- 0
-
字节终面:两个文件的公共url怎么找?
在字节跳动的终面中,居然遇到这个题目,好亲切。题目如下: A文件有32亿个url链接,B文件有64亿个url链接,求A和B中的公共url链接。 一. 初步思考 一些朋友可能觉得,这个问题很简单啊,把A文件和B文件同时加载到内存中,然后进行循环查找比较,貌似万事大吉。 为了便于理解原问题,我用图解的方式来进行。设A文件有5个美女,居于上面一行;B文件有5个美女,居于下面一行。 那么,怎么找出上下两行…...- admin
- 79
- 0