深圳-深圳融力通-二面-技术面
- 自我介绍
- 什么是模板方法模式?
- Redis 的持久化机制是什么?
- 并发编程的三要素?
- 两道算法题
第一题:串联所有单词的子串
给定字符串 s 和字符串数组 words(words 中所有字符串长度相同)。定义 s 中的串联子串为:包含 words 中所有字符串以任意顺序连接起来的子串。要求返回所有串联子串在 s 中的开始索引(返回顺序可任意)。
- 示例:输入:
s = "barfoothefoobarman",words = ["foo","bar"]输出:[0,9]解释:words长度为 2,且每个单词长度为 3,因此连接后的子串长度必为 6;子串"barfoo"(起始位置 0,是["bar","foo"]的连接)、子串"foobar"(起始位置 9,是["foo","bar"]的连接)均符合条件。
第二题:最长有效括号
给定只包含 '(' 和 ')' 的字符串 s,找出最长有效(格式正确且连续)括号子串的长度。其中,“有效括号” 指每个左括号都有对应的右括号将其闭合(如 "(()" 中,最长有效子串是 "()")。
- 示例:输入:
s = "(()"输出:2解释:最长有效括号子串是"()"。