版主
- 积分
- 17363
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2014-9-27
- 最后登录
- 1970-1-1
|
本帖最后由 rexue70 于 2020-2-12 14:49 编辑
电面不应该出hard,一般是一个easy热身,一个median实现加follow up不用写代码。楼主这里运气不太好。
但是
0.不是跳槽旺季,hc少,bar高
1.水涨船高,跳槽的算法难度比之前高比new grad高了。
2. 这道题目算是hard里偏median的,整体实现不到20行。如果是LC126. Word Ladder II, 那就真的hard偏hard了。
我也遇到过电面hard被挂,后来看了解法发现自己如果准备过会好很多。
附一个20行解法:. check 1point3acres for more.
. 1point 3 acres
- Map<Integer, List<String>> map = new HashMap<>();
- public List<String> wordBreak(String s, List<String> wordDict) {
- return helper(s, new HashSet<>(wordDict), 0);
- }. 1point 3 acres
- .--
- public List<String> helper(String s, Set<String> wordDict, int start) {
- if (map.containsKey(start)) return map.get(start);
- List<String> res = new ArrayList<>();
- if (start == s.length()) res.add("");
- for (int end = start + 1; end <= s.length(); end++) {
. check 1point3acres for more. - if (wordDict.contains(s.substring(start, end))) {
- List<String> list = helper(s, wordDict, end);
- for (String l : list) . .и
- res.add(s.substring(start, end) + (l.equals("") ? "" : " ") + l);
- }
- }
- map.put(start, res);
- return res;. 1point 3acres
- }
复制代码
. 1point3acres.com
. Χ
|
|